单个字符及字符数组读入

1、单个字符读入,遇到空格、换行符’\n’或制表符’\t’都跳过。

#include <iostream>
using namespace std;

int main() {
    char ch;

    cout << "请输入一行字符(中间可以有空格):" << endl;

    cout << "使用 cin >> ch 读取结果:" << endl;
    while (cin >> ch) {
        if (ch == '\n') cout << "\\n" << ' ';
        else if (ch == ' ') cout << "[space]" << ' ';
        else cout << ch << ' ';
    }

    return 0;
}

2、字符数组读入:

#include <iostream>
using namespace std;

int main() {
    char s[1000];
    char ch;
    int i = 0;

    while (cin >> ch) {
        if (ch == '#') break;  // 用 # 结束输入
        s[i++] = ch;
    }
    s[i] = '\0';

    cout << s << endl;
    return 0;
}

cin.get()函数
cin.get()函数以字符为单位对输入的数据进行读取。包括空行、换行、制表符。

1. 读取一个字符

char ch;
cin.get(ch);
cout << ch;

2. 在循环中逐个读字符

char ch;
while (cin.get(ch)) {
cout << ch << ' ';
}

注: 换行符’\n’也读进来,只是不显示。

3. 读到换行结束

char ch;
while (cin.get(ch) && ch != '\n') {
cout << ch;
}

4、读入数组:

方法一:

#include <iostream>
using namespace std;

int main() {
    char s[1000];
    char ch;
    int i = 0;

    while (cin.get(ch)) {
        if (ch == '#') break;  // 用 # 结束输入
        s[i++] = ch;
    }
    s[i] = '\0';

    cout << s << endl;
    return 0;
}

方法二: