首页 > 解决方案 > 为什么我的代码没有读入我的输入值?

问题描述

我正在用 C++ 编写代码并尝试使用 ifstream。这是代码:

int main()
{
    inFile.open("UserInfo.txt");
    if (!inFile) {
        cout << "Error Opening File" << endl;
    }
    
    inFile >> init_check;
    if (init_check == "Y") {
        cout << "User Info found, press 1 if you would like to ignore the save data, otherwise save data will be loaded." << endl;
        cin >> useUserInfo;
        if (useUserInfo == "1") {
            initializer();
        }
        else {
            loadUserInfo();
        }
    }

    else {
        initializer();
    }
    
    
}

这是函数 loadUserInfo:

void loadUserInfo(){
    string none, goal;
    string FirstName, LastName, name;
    int age, height;
    char none1;
    float weight;
  
    inFile >> FirstName;
    getline(inFile, FirstName, ' ');
    getline(inFile, LastName);
    inFile >> age;
    inFile >> height;
    inFile >> weight;
    inFile >> goal;
    inFile.close();
    UserInfo main_user;
    main_user.SetUser(FirstName, LastName, height, weight, age, goal);
    
}

它读取的文件非常好并且具有值。但是,在我调试时,inFile 不会读取值,而是读取“”。问题是什么?

标签: c++fileinputifstreamcin

解决方案


推荐阅读