C语言中的文件操作---重定向操作文件

先说个题外话,文件操作以及字符串与字符深入处理(就是那些什么puts(), getchar()什么的)是本人深入认识C++最后的两座大山。而今天先把重定向文件操作解决掉。

输入输出重定向恐怕是文件I/O操作中最简单的方法了,具体用法是现在main函数的开头加入两条语句,例如:

freopen("D:\\input.txt", "r", stdin);
freopen("D:\\output.txt", "w", stdout);

其中第一个参数是输入、输出文件的路径;第二个是操作文件的模式(在这里,我们先了解“r”、“w”分别表示只读和只写;“rb”、“wb”表示只读和只写二进制文件);最后一个参数则是指向此文件的指针(FILE*),一般我们填写“stdin”和“stdout”即可。

输入输出重定向还有一个优点就是,在最后不需要调用fclose(),因为系统会自动帮你完成这一步。

好的,下面是一个超级简单的例子,来具体实践一下如何使用freopen()输入输出重定向。

【输入】两个整数a和b

【输出】a+b的结果

源代码如下(在Visual Studio 2008下编译通过):

#include <stdafx.h>
#include <stdio.h>

int main(void)
{
	int a, b;
	freopen("D:\\abc.in", "rb", stdin);
	freopen("D:\\abc.out", "wb", stdout);
	scanf("%d%d", &a, &b);
	printf("%d is the result\n", a + b);
	return 0;
}

这时,我们在D盘创建一个叫abc.in的文件,利用文本编辑器在里面输入66和34,然后保存;接着,编译并运行程序;运行完了之后,去看看结果?abc.out的内容是:100 is the result

如果有兴趣,大家可以去看看第二个参数还有哪些模式;但是,在本文中提到的模式是较为常用的,足以对付算法竞赛。OK,freopen()输入输出重定向的内容就暂时告一段落。

				
时间: 2024-10-22 12:14:09

C语言中的文件操作---重定向操作文件的相关文章

关于C语言中使用fread()读取整个文件的心得

#include <stdio.h> #include <stdlib.h> int main(void) {     struct testF{         int a;         int b;         float c;     };          struct testF struct1[5]={{5, 4, 5.4}, {4, 3, 4.3}, {3, 2, 3.2}, {2, 1, 2.1}, {1, 0, 1.01}};     FILE *fpW;

jqm文件上传,上传图片,jqm的表单操作,jqm的ajax的使用,jqm文件操作大全,文件操作demo

最近在论坛中看到,在使用html5中上传图片或文件,出现各种问题.这一方面,我也一直没有做过,今天就抽出了一点时间来学习一下.现在的示例已经ok了,我就给大家分享一下,希望对大家有帮助. 好吧,我们先看看效果截图吧: 还行吧,来看页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <h

(转)文件操作-文件操作柄,NSFileHandle

利用  文件操作柄,也就是  NSFileHandle这类物件,我们  可以更加近距离地  操作  文件.一般来说,操作  文件  需要  下面三个步骤: 打开  文件,为  这个文件  创建  文件操作柄: 进行  输入/输出操作: 关闭  文件. 下面的表格  总结了  可以对文件操作柄所采取的措施: 措施名称 描述 +(NSFileHandle *)fileHandleForReadingAtPath:path 打开文件以便读取 +(NSFileHandle *)fileHandleFor

Python文件操作:文件的打开关闭读取写入

Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文件. 2.操作文件:读/写. 3.关闭文件. 操作系统中的文件默认处于存储状态,读写文件时需要请求操作系统打开一个要在当前程序操作的对象,打开不存在的文件可以创建文件.open()方法通过接收"文件路径"以及“文件打开模式”等参数来打开一个文件,并且返回文件对象.打开后的文件只能在当前程序

php课程---文件操作及文件上传的代码总结

php里面文件包含目录和文件两种 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equ

Python之文件操作:文件的读写

一.open函数:对文件读写之前,需要先打开文件,获取文件句柄 注意:open() file() 尽量使用open(),Python3以后不支持file()了 1.open(file_name[,access_mode][,buffering]) (1)参数说明 file_name:一个包含了你要访问的文件路径及文件名称的字符串值.尽量使用绝对路径 access_mode:打开文件的方式:这个参数是非强制的,默认文件访问模式为只读(r) r,只读 w:写之前会清空文件的内容 a:追加的方式,在原

python文件夹遍历,文件操作,获取文件修改创建时间

在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirname os.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.path.ex

文件操作--大文件的加密和搬运

C文件操作综合项目: 读取一个文件的数据到另一个文件,在读取的过程中加密. #include "stdlib.h" #include "stdio.h" #include "string.h" int fileEnc(char* fileDestinationPath, char* fileSourcePath) { FILE *fileDestination = NULL; FILE *fileSource = NULL; int ret =

Python 基础之文件操作与文件的相关函数

一:文件操作 fp =open("文件名",mode="采用的模式",encoding="使用什么编码集")fp 这个变量接受到open的返回值  是一个文件io对象 (又称文件句柄)i => input 输入o => output输出有了对象之后,就可以使用对象.属性 或者 对象.方法进行操作fp.write("字符串")fp.close() #关闭文件fp.read() #读取内容 #1.文件的写入和读取 #(