C++输入输出流

2017-08-25  本文已影响11人  第八区

要点

int main() {
    char c;
    char buf[10];
    c = cin.peek();
    if (c > '0'&&c < '9') {
        cin >> buf;
        cout << buf << endl;
    }
    else {
        cout << "first char is not number" << endl;
    }
}
peek
int main() {
    char c;
    char buf[10];
    cout << "input word:" << endl;
    c = cin.get();
    if (c > '0'&&c < '9') {
        cin.putback(c);
        cin >> buf;
        cout << buf;
    }
    else {
        cout << "first char is not number" << endl;
    }
    return 0;
}
3.png
4.png

示例

#include "iostream"
using namespace std;

int main()
{
    char a, b, c;
    //cin>>会过滤不可见字符(空格、回车、换行)。
    cin >> a >> b >> c;
    cout << "a=" << a << ",b=" << b << ",c=" << c << endl;
    char buf[10];
    cin >> buf;
    cout <<"[cin >> buf]="<< buf << endl;
    char d;
    //接收一个字符
    cin.get(d);
    cout << "[get(d)]=" << d << " "<<(int)d<<endl;
    //舍弃流中的一个字符(包括空格、回车、换行)
    cin.get();
    //用来接收字符串,可以接收空格,遇回车结束。
    //数组的最后一个字符会是‘\0’
    cin.get(buf,10);
    cout <<"[cin.get(buf,10)]=" <<buf << endl;
    //cin.getline(接收字符串到m,接收个数n,结束字符)。
    //可以接受(空格、回车、换行)
    cin.getline(buf, 10);
    cout <<"getline(buf, 100)="<< buf << endl;
    return 0;
}

测试结果


测试结果

输入方式,这里为了区分开始和结束,使用[ ]来演示,而不是输入内容

上一篇 下一篇

猜你喜欢

热点阅读