正文

输入输出的总结!2007-05-19 22:10:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wubiao/26008.html

分享到:

这几天对前面的知识又看了一遍,有些东西想总结比较下: 对于c和c++的输入输出函数想必大家都很熟悉,但有多少呢? putchar()    getchar()    puts()    gets()    getline()    printf()    scanf()    cout<<    cin>>等函数 putchar()和getchar()是对单个的字符的输入输出: char   a=`A`,b=`B `; putchar(a);或putchar(`A`); puts()和gets()是针对字符数组的输入输出: char str[50 ]; gets(str);                   从键盘输入:    How are you! puts(str);                   屏幕上输出:   How are you! 而对于printf()和scanf() ,cout<< ,cin>>可没有这样的待遇啊!因为他们只将空格前的字符读入,所以用他们只会在屏幕上显示How  对于没有空格的字符串如:char c[6 ]={"China"};有两种方式输出: ①逐个的字符输出便要用到for循环利用下标控制来逐个字符输出: for(i=0;i<6;i++) printf("%c",c[i]); ②整个字符串一次输入输出,用"%s"格式符,当字符串(String) printf("%s",c); 同样scanf也可以用"%s"格式符输入数据! 在c++中对数组的输入可以不用下标控制来输入: char a[10];  cin>>a; cout<<a<<endl; 而scanf却不可以这样,因为他要逐个读入数据,要用到for循环控制下标!也可以用"%s"来整体读入,但不可有空格! getline()总是将行末的回车符滤掉,若有许多行,且行中还夹杂着其他类型的数据时,借助于getline然后在逐个分解行中数据是简明的! char a[40]; cin.getline(a,40 string s; getline(cin,s); cout<<s<<endl; 还有就是关于流的用法,他主要是针对外部设备的数据读取,即非标准设备的数据读取,他需要建个输入流和输出流! ifstream in("aaa.txt"); in就是文件数据的象征!再利用getline输到容器中赋值!   最后有一点就是如果数据中有空格或换行时,scanf和cin都无法识别并读入空格或换行后的数据,所以对这样的数据我们就要用到关于get的函数来读取!                  

阅读(3206) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册