cin cin.getline getline cin.get()
http://yantingting1219.blog.sohu.com/71850367.html
cin
读取并忽略 非空白字符 之前所有的空白字符,然后读取字符直至再次遇到空白字符,读取终止。
/*sting对象接收流中字符*/ #include <iostream> #include <string> using namespace std; int main() { string str; cin >> str; cout << str; return 0; }
输入:
hello world
输出:
hello
/*字符数组接收流中字符*/ #include <iostream> #include <string> using namespace std; int main() { char str_array[20]; cin >> str_array; cout << str_array; return 0; }
输入输出同上。
cin.getline()
/*sting对象接收流中字符,出错!!不是同一流!*/ #include <iostream> #include <string> using namespace std; int main() { string str; cin.getline(str, 5); cout << str; return 0; }
出错!!
/* 字符数组接收流中字符,cin.getline(str_array, n); 实际最多可接收n-1个字符,第n个字符置'\0' */ #include <iostream> #include <string> using namespace std; int main() { char str_array[10]; cin.getline(str_array, 10); cout << str_array; return 0; }
输入:
1234567890
输出:
123456789
/* 字符数组接收流中字符,cin.getline(str_array, 10); 实际最多可接收9个字符,第10个字符置'\0' */ #include <iostream> #include <string> using namespace std; int main() { char str_array[10]; cin.getline(str_array, 5); cout << str_array; return 0; }
输入:
123456
输出:
1234
getline()不忽略空格,默认换行作为结束
/*字符数组接收流中字符,出错!!流不同!*/ #include <iostream> #include <string> using namespace std; int main() { char str_array[10]; getline(cin, str_array); cout << str_array; return 0; }
/*string对象接收流中字符*/ #include <iostream> #include <string> using namespace std; int main() { string str; getline(cin, str); cout << str; return 0; }
输入:
123456
输出:
123456