#include <iostream>
#include <string>
using namespace std;
int main()
{
//function for taking in a line
string line ;
auto line_size = line.size();
while (getline(cin, line))
if (!line.empty())
{
cout << line_size << endl;
cout << line << endl;
}
system("pause");
return 0;
}
为什么当我输入一些内容时line_size
打印的内容是否正确?
答案 0 :(得分:3)
在获得任何输入之前,您正在捕获线条的大小。这意味着line_size
将始终为0,因为这是空字符串的大小。您可以将循环更改为
cout << line.size() << endl; // always gets the size of the current line
cout << line << endl;
答案 1 :(得分:1)
在这里,您可以创建一个空string
,其明显大小为0
,并将0
存储在变量line_size
string line ;
auto line_size = line.size();
这里有一个新行
while (getline(cin, line))
在此处打印line_size
的值,即0
cout << line_size << endl;
line_size
更新后, line
不会更新。要获得当前行大小打印:
cout << line.size() << endl;