1.c语言输入流 ,包含在头文件 #include<stdio.h>
getchar()
从stdio流中读字符,它从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。
gets() 使用时可能造成堆栈溢出,不建议使用。
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。gets(s) 函数中的变量s为一字符串指针。如果为单个字符指针,编译连接不会有错误,但运行后内存溢出错误。不判断有没有数组溢出
2.c++语言输入流 ,包含在头文件 #include<iostream> using namespace std;
cin.get(),读取一个字符
char city;
city=cin.get();
或者使用为
char city;
cin.get(city);
cin.getline(),读取一行字符串,遇到回车符结束。接受3个参数,第一个参数为字符数组,第二个参数为输入长度,例如长度为16,最多可输入15个字符,第十六个字符为结束字符'\0'。第三个参数可以不填,为输入截至字符,当输入流遇到这个字符,便不再向city中输入内容。
char city[16];
cin.getline(city,16,'o');
string city;
getline(cin,city);
例如输入为 hello world,变量city的值为hello world;
string city;
getline(cin,city,'o');
例如输入为hello world,变量city的值为hell。