韩娱之再世重逢:关于C语言文件使用的疑惑

来源:百度文库 编辑:高考问答 时间:2024/04/28 01:59:05
开始学文件,但有一些问题搞不清楚.
我写了一个求a+b的程序
代码:
/
#include<stdio.h>
int main()
{FILE *fp1,*fp2;
int a,b;
fp1=open("in","r");
fp2=open("out","w");
fscanf(fp1,"%ld%ld",&a,&b);
fprintf(fp2,"%ld\n",a+b);
return 0;
}
/
我奇怪的是这个时候要输入a,b要到哪里输,怎样调试呢,而且怎样创建in,out文件,我是在VC++上运行的.
还有怎样用程序生成测试数据呢?
谢谢!!
那怎么样写入文件和读出文件呢?给我举个例子吧

程序是没有问题的:
#include<stdio.h>

int main(int argc, char *argv[])
{
FILE *fp1,*fp2;
int a,b;

fp1 = fopen("in", "r");
fp2 = fopen("out", "w");
fscanf(fp1, "%ld%ld", &a, &b);
fprintf(fp2, "%ld\n", a+b);

return 0;
}

编译、链接生成可执行应用程序后,在该程序目录下创建一个文件:in,内容是:
1 2

如何,执行可执行程序即可,会生成一个名称为out的文本文件,内容是3

如果你觉得in、out不太好看的话,更改为in.txt、out.txt,相应的,程序里面要做调整:
#include<stdio.h>

int main(int argc, char *argv[])
{
FILE *fp1,*fp2;
int a,b;

fp1 = fopen("in.txt", "r");
fp2 = fopen("out.txt", "w");
fscanf(fp1, "%ld%ld", &a, &b);
fprintf(fp2, "%ld\n", a+b);

return 0;
}

scanf是在控制台读取数据,也就是在Command窗口中输入
fscanf是从文件从读取数据,不需要手工输入

你用的是打开文件的函数,需要自己在目录下建文件

你现在要知道的是怎么样写入文件和读出文件.这样你才能知道怎么样去写