方大侠 发表于 2019-5-21 14:59:06

为什么程序运行一半会卡住

#include<iostream>

using namespace std;

int main(){
    const int MAXSIZE = 50;
    char buffer;
    cout << "请输入一段文本:";
    cin.read(buffer,20);
    cout << "字符串个数为:"
      << cin.gcount() << endl;
    cout << "输入的文本信息为:";
    cout.write(buffer,20);
    cout << endl;
    return 0;
}

输入超过20个字符的时候输出正常,但是少于20个字符就卡住不动了;
应该是cin.read(buffer,20); 这里有问题吧
但是怎么看里面的源码呀,或者怎么改才能输出少于20也能继续运行。。

Croper 发表于 2019-5-21 17:01:24

那你直接cin>>buffer;
不就结了。。

TOP_LK 发表于 2019-5-23 19:45:28

建议使用getline

TCY 发表于 2019-5-25 17:13:20

#include<iostream>

using namespace std;

int main(){
    const int MAXSIZE = 50;
    char buffer;
    cout << "请输入一段文本:";
    cin >> buffer;
    cout << "字符串个数为:" << cin.gcount() << endl;
    cout << "输入的文本信息为:";
    cout << buffer;
    cout << endl;
    return 0;
}
页: [1]
查看完整版本: 为什么程序运行一半会卡住