C++ getline() 函数

标签 c++

我不太明白这个函数是如何工作的。

我写了一个简单的程序,用 getline() 读取一行。

例如:

ifstream in;
in.open("example.txt");
string line;
getline(in, line);
cout << line << endl;

当我尝试运行这个程序时,我收到了这样的错误消息。

`assign1_2.cpp:33:20: error: cannot convert 'std::string {aka std::basic_string<char>}'    to 'const char*' for argument '1' to 'int atoi(const char*)'

我根本不明白这里出了什么问题。请帮忙!。我是 C++ 的新手。

最佳答案

您没有显示错误代码,但错误表明您尝试使用类型为 std::string 的参数调用 atoiatoi 接受一个 C 字符串 (man atoi),所以你需要像这样调用它:

atoi( line.c_str() );

关于C++ getline() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562620/

相关文章:

c++ - Qt C++ 读写文件

c++ - 此插入方法的时间和空间复杂度

c++ - 由于 vector.push_back() 导致执行过早结束 [C++]

c++ - 二维数组的最小/最大元素

c++ - QRegularExpression 是否删除了反向引用(因此搜索速度更快)

c# - unity3d import c++ dll for pass by reference 方法

c++ - 如何缩小 boost::offset_ptr

c++ - 通过使用其他 namespace 元素传播的 namespace 外部的可见性

c++ - 当 const 指针用作函数的参数时

c++ - 在C++中将字节流拆分为位