我编写了这个函数,它应该从包含 ACII 十进制数字的文件中读取,并将它们转换为存储在 int 数组中的整数。这是该功能:
void readf1()
{
int myintArray[100];
int i = 0;
int result;
string line = "";
ifstream myfile;
myfile.open("f1.txt");
if(myfile.is_open()){
//while not end of file
while(!myfile.eof()){
//get the line
getline(myfile, line);
/* PROBLEM HERE */
result = atoi(line);
myintArray[i] = result;
//myintArray[i]
cout<<"Read in the number: "<<myintArray[i]<<"\n\n";
i++;
}
}
}
问题是 atoi 不起作用。我得到的错误是cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '1' to 'int atoi(const char*)'
. 我不确定为什么它在我查看示例时不起作用,并且我使用它的方式完全相同。任何人都知道我可能做错了什么?