c语言io流,C IO流问题

1 , C IO流问题Sleep是使此线程进入睡眠 , 也就是说1秒内,main函数都不会有反应,直到休眠结束后才会响应输入 。getch接受输入是没有问题的,可以用cout输出测试一下 。
2,C语言IO问题 include stdafxh includestdioh void main从键盘输入的每个字符都会送到输入缓冲流中 , scanf函数从输入缓冲流中依次读数据,第一次输入的回车符也在输入缓冲流中,而scanf函数遇到空格或换行符就结束 , 所以第二次scanf时还是从输入缓冲流中的回车符开始读,读到即结束,然后执行下一个语句 。解决方法:在每个scanf语句后加一句getchar();因为getchar()函数不会忽略回车符和空格符,也就是说getchar()函数会将回车符或空格符读出,然后读下一个字符 。这样下一次scanf()时就是从回车符的下一个字符开始读了 。你好?。。?includevoid main() { int a=2; a%=4-1; printf("%d,",a); a+=a*=a-=3*a*3;//中间没有空格,还有就是3a在c语言中是不可以的 , 用3*a printf("%d",a); } 结果: 2,512press any key to continue
3,c中IO流的使用如果要读的全是字符串类型的,#include#include #include int main() { string xx; ifstream fin("文件名"); while(fin>>xx) { cout<< } return 0; } 然后作提取工作io指的是输入输出流!如果有输入输出语句,写程序时就要包含iostream的头文件!如:#include <iostream>using namespace std;void main() int i; for(i=1;i<10;i++) cout<<i<<" "; cout<<endl;}一个简单的输出数字的程序!中间就用到了iostream!如果你每行都存成aaa 0.01 1 bb这种类似格式(有固定结构)可以用fscanf函数处理对于其他存储较杂乱的可以先用fscanf取出一行并用string对其作处理取出有用的数据【c语言io流,C IO流问题】
4,CIO流C语言中的printf和scanf很方便高效,但是 printf和scanf 有其固有的弱点,、printf 和 scanf 是可变参数的函数,这意味着函数是不那么安全的,可能会造成内存泄漏、资源损害等等,比如printf("%d %f", 10);要求输入 两个参数,但调用时只输入一个参数,这时 printf 函数很有可能将根据 %f 这个控制符继续在内存中读取一个float 型数据,尽管这个float 不存在,这就给电脑攻击提供了便利 。C++在诞生之初就为了避免C语言这种弊端,它的输入输出是用流的概念来描述的,这既可以避免这些漏洞,又可以达到更高层次的抽象,比如迭代器、文件输入输出流等等,学习了C++自然会知道的 。为了兼容C语言,C++ 也可以用 C语言的 printf和scanf 。有时,即使在 C++,用 printf还要方便一些 。C++I/O流不仅是终端的输入及输出 , 还是对文件的输入和输出 。功能是非常强的 。并且还有一些的格式输出 。因为C的输入输出没有类型检查,也不能按用户要求来定制C++的io流库可以重载插入符<<和提取符>>等,这样可以自行重载输出,另外,输入输出流中的流操纵算子也是C不能实现的函数声明为:friend ostream& operator << (ostream &, yourclassname &)函数实现:ostream& operator << (ostream &output, yourclassname &t)......return out;}5,IO流中读取import java.io.*;public class Inner public static void main(String args[])tryFile ff=new File("E:\\","Inner.java");FileReader rr=new FileReader(ff);BufferedReader bb=new BufferedReader(rr);String s;while((s=bb.readLine())!=null)System.out.println(s);}bb.close();rr.close(); } catch(IOException E) }}//这样就能读取文件中的每一行,具体读那一行你就设置一个循环,当循环到那一行就输出那一行的内容(本例是读取本程序中的每一行)c语言中的printf和scanf很方便高效,但是 printf和scanf 有其固有的弱点,、printf 和 scanf 是可变参数的函数,这意味着函数是不那么安全的,可能会造成内存泄漏、资源损害等等,比如printf("%d %f", 10);要求输入 两个参数, 但调用时只输入一个参数,这时 printf 函数很有可能将根据 %f 这个控制符继续在内存中读取一个float 型数据,尽管这个float 不存在 , 这就给电脑攻击提供了便利 。c++在诞生之初就为了避免c语言这种弊端 , 它的输入输出是用流的概念来描述的,这既可以避免这些漏洞,又可以达到更高层次的抽象 , 比如迭代器、文件输入输出流等等,学习了c++自然会知道的 。为了兼容c语言,c++ 也可以用 c语言的 printf和scanf 。有时,即使在 c++,用 printf还要方便一些 。

    推荐阅读