重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在cpp中放函数、变量的定义,而h里面放变量、函数的声明。
创新互联公司主营和硕网站建设的网络公司,主营网站建设方案,成都APP应用开发,和硕h5微信小程序定制开发搭建,和硕网站营销推广欢迎和硕等地区企业咨询
由于我们现在写的都是比较小的程序,单文件多文件的有事不是很明显,如果我们写了一个程序有上万行,你想一想,全部程序写在一个文件里面,这样代码难以阅读,维护。
C语言中用流替换函数freopen可以从文件中读取数据或将数据输出到文件中。
需要引用库"stdio.h",即
#includestdio.h
freopen的声明如下:
FILE *freopen(const char * restrict filename, const char * restrict mode, FILE * restrict stream);
形参说明:
filename:需要重定向到的文件名或文件路径。
mode:代表文件访问权限的字符串。例如,"r"表示“只读访问”、"w"表示“只写访问”、"a"表示“追加写入”。
stream:需要被重定向的文件流。
返回值:如果成功,则返回该指向该输出流的文件指针,否则返回为NULL。
用法:
将输入流从stdin替换成指定文件可以从文件中读取数据;
将输出流从stdout替换成指定文件可以将数据输出到文件中。
下面举个例子:
#includestdio.h
int main(){
freopen("in.txt","r",stdin); //从in.txt中读数据
freopen("out.txt","w",stdout);//向out.txt中写数据
int a,b;
while(~scanf("%d%d", a, b)){
printf("%d %d\n");
}
return 0;
}
主要通过fprintf格式化输出函数实现,主要代码如下,
//程序功能,将10 12.345000 testinfo 写入test.txt文件
#include stdio.h
int main(int argc, char *argv[])
{
FILE *pf=NULL;
int m=10;
float f=12.345;
char str[20]="testinfo";
pf=fopen("test.txt", "w" );//假设test.txt文件为空
if(!pf)
{
printf("打开文件失败,程序退出!");
exit(1);
}
fprintf(pf,"%d %f %s\n",m,f,str);//写入,test.txt文件内容为10 12.345000 testinfo
if(pf)//关闭文件
{
fclose( pf);
pf=NULL;
}
printf("数据已写入test.txt文件!\n");
return 0;
}
int fprintf( FILE *stream, const char *format, ... );fprintf()函数根据指定的format(格式)发送参数到由stream指定的文件。fprintf()只能和printf()一样工作,fprintf()的返回值是输出的字符数,发生错误时返回一个负值。