我从文件中读取了一行,我试图将其转换为int.由于某种原因atoi()(将字符串转换为整数)将不接受std::string作为参数(可能是字符串与c字符串与字符数组的问题?) - 如何atoi()正确工作以便我可以解析此文本文件?(将从中抽出大量的金额).
码:
int main()
{
string line;
// string filename = "data.txt";
// ifstream file(filename)
ifstream file("data.txt");
while (file.good())
{
getline(file, line);
int columns = atoi(line);
}
file.close();
cout << "Done" << endl;
}
Run Code Online (Sandbox Code Playgroud)
引起问题的线是:
int columns = atoi(line);
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
错误:无法转换
'std::string'到'const char*'的参数"1"到"廉政atop(const char*)"
我如何让atoi正常工作?
编辑:谢谢大家,它的确有效!新代码:
int main()
{
string line;
//string filename = "data.txt";
//ifstream file (filename)
ifstream file ("data.txt");
while ( getline (file,line) )
{ …Run Code Online (Sandbox Code Playgroud)