我写了这个函数,该函数应该从包含ACII十进制数字的文件中读取,并将它们转换为存储在int数组中的整数。这是这个功能:从文件读取然后转换为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*)'
。我不确定为什么它不能正常工作,因为我查看了示例,而且我正在使用它完全相同。任何人都知道我可能做错了什么?
你能'的cout << line'并张贴它是什么? –