gpt4 book ai didi

c++ - 从 .txt 中读取带有空格的整行文本到单个变量 C++

转载 作者:行者123 更新时间:2023-11-30 02:28:09 25 4
gpt4 key购买 nike

<分区>

我在读取文件时遇到了一些问题。

我的文件包含多行,都需要保存到不同类型的变量中。我能够让 bool 和 int 正确传输,但我的字符串有问题,特别是包含空格的字符串。

我的文件包含:

1
0
1
0
0
0
1
0
0
0
Chester Von Tester
1
1

我能够让每一行都正确地读入各个变量,但是当它到达 Chester Von Tester 时它会吓坏,要么只输入第一个单词,要么什么都不输入,这取决于我使用的方法。

下面是代码运行不正常的花絮(整个代码也就几百行,觉得没必要贴):

loadGame >> newGame;
cout << typeid(newGame).name() << " " << newGame << endl;

loadGame >> bossOne;
cout << typeid(bossOne).name() << " " << bossOne << endl;

loadGame >> bossTwo;
cout << typeid(bossTwo).name() << " " << bossTwo << endl;

loadGame >> bossThree;
cout << typeid(bossThree).name() << " " << bossThree << endl;

loadGame >> bossFour;
cout << typeid(bossFour).name() << " " << bossFour << endl;

loadGame >> bossFive;
cout << typeid(bossFive).name() << " " << bossFive << endl;

loadGame >> bossDeathCount;
cout << typeid(bossDeathCount).name() << " " << bossDeathCount << endl;

//Position Coordinates

loadGame >> coord_x;
cout << typeid(coord_x).name() << " " << coord_x << endl;

loadGame >> coord_y;
cout << typeid(coord_y).name() << " " << coord_y << endl;

loadGame >> inCombat;
cout << typeid(inCombat).name() << " " << inCombat << endl;

//Character traits
getline(loadGame,characterName);
cout << typeid(characterName).name() << " " << characterName << endl;

loadGame >> characterGender;
cout << typeid(characterGender).name() << " " << characterGender << endl;

loadGame >> characterClass;
cout << typeid(characterClass).name() << " " << characterClass << endl;

代码运行时会发生以下情况:

b 1
b 0
b 1
b 0
b 0
b 0
i 1
i 0
i 0
b 0
Ss
i 0
i 1

它正在获取所有类型 ID 的正确性,这是一个开始。它搞砸的地方是名字,它说“Ss”然后是空白,当它应该说“Ss Chester Von Tester”后跟“i 1”而不是“i 0”时。

将整行“Chester Von Tester”放入该字符串变量的最佳方法是什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com