您的位置:首页 > 其它

Online Judge中基本的输入输出

2015-08-15 19:08 621 查看
一、利用c语言处理输入和输出

1、输入:

在C语言中输入中stdin指针表示标准的输入,scanf默认读取的就是stdin指向的输入,在acm中我们可能需要不断的测试,最好将stdin重定向到某一个文件,这样可以方便调试,使用方法如下。

freopen("iniflename","r",stdin); 该函数依次指定了输入文件,操作方式,定向到的文件指针,这样在下面的读取中,可以按照scanf进行读取。

scanf函数返回的是成功读取的个数,如果没有东西读取返回EOF=-1。读物字符串时可以使用char c = getchar();获取一个字符;

读取多个字符时可使用,char s[45]; gets(s);这样可以获得一行;如果按空格读取可以使用scanf进行。

2、输出:

c使用printf函数进行输出。该函数使用stdout指针作为标准输出,重定向的方法:

freopen("outfile","w",stdout);


二、C++处理输入和输出

1、输入:

和c语言类似,c++定义了标准对象cin读物标准输入,cin >> a >> b; >>操作符其实返回的是一个对象的引用,但是在while(cin >> n)中,会转化为void*类型,因此可以用于bool类型的判断。重定向cin的方法:

ifstream ifile("infilename");
streambuf *strmin_buf = cin.rdbuf(ifile.rdbuf());


返回的是一个streambuf 指针,指向当前读取的缓冲地址。

2、输出:

c++使用cout输出,重定向的方法:

ofstream outfile("outfilename");
streambuf *strmout_buf = cout.rdbuf(outfile.rdbuf());


返回的是一个streambuf 指针,指向当前写入的缓冲地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: