这已经给我带来了一段时间的麻烦,并且我对代码的任何调整似乎都无济于事。
我试图在从文件中读取的一行文本中找到这些数字,并将这些数字存储到另一个字符串中,以备后用。初始复制似乎成功,但是当尝试输出数字存储的字符串时,唯一的输出是空白行。

这是代码和随附的头文件:

#include<iostream>
#include<string>
#include<fstream>
#include<cctype>

using namespace std;

int main()
{
    ifstream inFile;
    string temp;
    short count = 0;
    char fileName[20];
    string info1;

    cout << "Enter the name of the file to be used: " << endl;
    cin >> fileName;

    inFile.open(fileName);

    if(!inFile)
    {
        cout << "Error opening file." << endl;
    }
    else
    {
        getline(inFile, info1);
        cout << info1 << endl;

        for(short i = 0; i < info1.length(); i++)
        {
            if(isdigit(info1[i]))
            {
                temp[count] = info1[i];
                cout << temp[count] << endl;
                count++;
            }
        }
        cout << temp << endl;
    }
    inFile.close();
    return 0;
}


输出如下:

Enter the name of the file to be used:
input.txt
POPULATION SIZE: 30
3
0


显然,它没有输出预期的温度。
任何帮助或建议,将不胜感激。

最佳答案

用这个,
temp+=info1[i];
代替
temp[count] = info1[i];

09-26 15:49