根据某个变量读取文件(C语言)

来源:百度知道 编辑:UC知道 时间:2024/06/07 03:56:07
已知某个文件A,其中有若干字段

现需要输入其中某个变量,例如日期,希望能读取整个文件。

也就是说,我编写了个程序,输入某个文件名,然后对其中的内容进行排序,打印一类的。
可是~要求是不必输入整个文件名,只需要输入文件中的日期就可以实现

如何实现?用指针吗??具体的代码应该是什么??

>_<。。。。。大家帮帮忙。。。
我想用命令行输入文件内容中包含的一个字段:例如日期

我是用这个读取那个文件的fp=fopen(argv[1],"r");

现在只想读其中的变量就可以实现对文件的读取,因为程序中需要用到文件中的其他变量

输入的日期是文件的一部分,是对文件中的字段进行排序

文件中包含日期,金额一类的东西,对它们进行排序

FILE* fo;
fo=fopen("文件名","r");
然后建立一个新文件供写入
FILE* fn;
fn=fopen("文件名","w+");
然后用fgetc读,读到的东西存到数组里,每遇到\n就开一个新数组,直到读到EOF
读出来的东西再一个一个fputc回新文件里就行了。
最后
fclose(fo);
fclose(fn);

你的题目表达的不够清晰.你是对文件中字段的内容进行排序还是对文件内的字段进行排序?

还是没说清楚,你输入的这个日期是文件名的一部分,还是文件内容?

你想用命令行输入文件名或部分文件名?

fp=fopen(argv[1],"r");

argv[1] 通过命令行位置参数可以传入.
void main(int argc, char *argv[]){}
argv[0] 是程序名, argv[1] 是第一个位置参数,
argv[2] 是第二个位置参数
-----------------------------------------
如果你想用命令行输入部分字符串,再构成文件名:

void main(int argc, char *argv[]){
char namein[80];
char s_date[12];
strcpy(s_date,argv[1]); // 位置参数传入2008_04_15
sprintf(namein,"my_data_%s.txt",s_date);
// namein 是 my_data_2008_04_15.txt
fp=fopen(namein,"r");

}