探讨数组与字符串输入的问题(C++版)

2020-01-06 13:37:38于海丽
  • 探讨数组与字符串输入的问题(C++版)

    释义:

    cin是将一个单词作为输入,而有些时候我们需要将一行作为输入,如 I love C++

    iostream中类提供了一些面向行的类成员函数,如getline()和get(),这两个都是读取一行的输入,直到换行符结束,区别是getline()将丢弃换行符

    get()将换行符保留在输入序列中

    面向行的输入:getline(char* cha,int num)

    getline()读取整行,通过换行符来确定结尾,调用可以使用 cin.getline(char* cha,int num),成员函数的方式使用,第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数,如果这个字符数的参数为30,则最多读入29个字符,余下的用于存储自动在结尾处添加的空字符。

    get()存储字符串的时候,用空字符结尾。

    如果遇到这种情况咋办?

     

     
    1. # include <iostream>  using namespace std; 
    2. int main(void)  { 
    3. cout << "What year was your house built? " << endl;  int year; 
    4. cin >> year;  //char ch; 
    5. //cin.get(ch); 接收换行符 (cin >> year).get();  cout << "What is its street address ? " << endl; 
    6. char address[80];  cin.getline(address, 80); 
    7. cout << "Year built : " << year << endl;  cout << "Address : " << address << endl;