Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 当循环跳过其他输入时_C++ - Fatal编程技术网

C++ 当循环跳过其他输入时

C++ 当循环跳过其他输入时,c++,C++,我正在尝试编写一个程序,它将打开一个用户输入文件名,然后获取该文件中的名称,并将它们从LastName、FirstName MiddleName排列到FirstName MiddleName LastName。但是,我的while循环会跳过输入文件中的其他名称 以下是我的主要观点: using namespace std; int main() { string fullName; string lastName; string first_middleName;

我正在尝试编写一个程序,它将打开一个用户输入文件名,然后获取该文件中的名称,并将它们从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;
}
使用名称空间std;
int main(){
字符串全名;
字符串lastName;
字符串名称;
尺寸和位置;
字符串文件名;
Iftream inData;

cout这是因为每个循环读两行

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

这是因为每个循环读两行

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

Seams喜欢你需要熟悉调试器。如果你在基于linux的系统上,我建议你使用GDB…Seams喜欢你需要熟悉调试器。如果你在基于linux的系统上,我建议你使用GDB。。。