程序设计题目中的输入输出

程序设计题目中的输入输出#

一般而言,为了输入输出方便,许多人喜欢cin,cout。一般没有问题,但是cout输出格式控制较麻烦,而且对于有些题目输出量超过1e6甚至1e5的话,就需要注意,使用cin可能会TLE。当然关同步是一种解决办法,使用最好的还是使用scanf和printf

输出一行的问题###

1.gets

char *gets(char *s);

gets从stdin中读入一行内容到s指定的buffer中,当遇到换行符或EOF时读取结束。读取成功时,返回s地址;失败时返回null。需要注意的是,gets会将行末尾的’ ’字符或EOF替换成’’,这样,gets读取的内容中不包括’ ’字符。如果要获取读取字符串的长度,可以调用strlen函数获得。

2.fgets

char *fgets(char *s, int size, FILE*stream);  

fgets(buff,10,stdin);//fgets头文件为cstdio

fgets从stream中读取最多size-1大小的内容到s指定的buffer中,当遇到换行符或EOF时读取结束。读取成功时,返回s地址;失败时返回null。需要注意的是,fgets会在所读取的内容后面添加’’,这样,fgets读取的内容中会包括行末尾的’ ’字符。如果要获取读取字符串的长度,可以调用strlen函数获得。

3.getline
对于C++语言,如果使用C字符串的话,就采用cin.getline()函数,如果采用string型字符串的话,就采用全局函数getline(cin,n);

注意,这两个函数都不读入最后的换行符。

string s;
char str[256];
getline(cin, s);
cin.getline(str, sizeof(str));  
原文地址:https://www.cnblogs.com/gzr2018/p/12454985.html