gpt4 book ai didi

c++ - while 循环跳过所有其他输入

转载 作者:行者123 更新时间:2023-11-30 01:23:36 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来打开用户输入的文件名,然后获取该文件中的名称并将它们从 LastName、FirstName MiddleName 到 FirstName MiddleName LastName 排列。但是我的 while 循环跳过了输入文件中的所有其他名称。

这是我的主要内容:

using namespace std;

int main() {

string fullName;
string lastName;
string first_middleName;

size_t pos;


string fileName;
ifstream inData;

cout << "Please type the file name including extension(such as .txt)." << endl;
cout << "If your file is in a different directory please specify the path:";

getline(cin, fileName);
inData.open(fileName.c_str());

if(!inData) {
cout << "Cannot open" << fileName << "." << endl;
return 1;
}

getline(inData, fullName);

while(getline(inData, fullName)) {
pos = fullName.find(',');
lastName = fullName.substr(0, pos);
first_middleName = fullName.substr(pos + 2);
cout << first_middleName << " " << lastName << endl;
getline(inData, fullName);
}


inData.close();

return 0;
}

最佳答案

这是因为你每次循环读两行

while(getline(inData,fullName)){
...
getline(inData,fullName);
}

关于c++ - while 循环跳过所有其他输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14780356/

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