获取控制台中的输入大小

use*_*241 1 c++

你如何获得控制台的大小输入字符串或缓冲区中有效字符的大小?

char buffer[100];
cin >> buffer;
Run Code Online (Sandbox Code Playgroud)

我想把'\ 0'放在输入结束的地方.

Naw*_*waz 6

更喜欢使用std::string,而不是char*char[].这让事情变得简单!问题char buffer[100]是如果输入字符串的大小超过100,那么你cin >> buffer将调用未定义的行为,因为它会尝试在数组之外写入.如果使用,可以轻松避免此问题std::string.

std::string input;
cin >> input; //this can read string of any unknown size!
cout << "length of input string : " << input.size()<< endl;
Run Code Online (Sandbox Code Playgroud)

您也可以使用input.length()而不是input.size().它们返回相同的值.

在线演示:http://www.ideone.com/Wdo31

  • @Downvoter:请指出我的回答问题,以便OP和我知道. (3认同)