查询在C中打开和关闭文件

时间:2014-05-06 08:30:22

标签: c text-files

这不是我的代码的一个给定问题,但更确切地说是一个体面的大小快捷方式,如果这有效。

在我的C程序中,我有一些有数字值的文件(测试1,测试2等)所以我想知道在子句中:

fa = fopen("Test 02","r");
if (fa == NULL) {
    printf("Failed to open defs\n");
    getch();
    exit(1);
}
do {
    ...
}

我可以这样做:

fa = fopen("Test %d Definitions.txt","r",count);
if (fa == NULL) {
    printf("Failed to open defs\n");
    getch();
    exit(1);
}
do {
    ...
}
count=count+1;

我一直在想这个,因为它会将文件选择代码减少很多。

2 个答案:

答案 0 :(得分:3)

您需要先创建文件名

char filename[256];
snprintf(filename, sizeof filename, "Test %d Definitions.txt", count);
fa=fopen(filename,"r");
..

答案 1 :(得分:0)

您可以使用sprintffopen不是可变函数。它的原型是:

FILE * fopen ( const char * filename, const char * mode );

使用sprintf(filename, "Test %d Definitions.txt",count);

然后执行fopen(filename, "r");