文件输入输出,在C中读取多个文件

文件输入输出,在C中读取多个文件,c,C,我正试着做课本上的一道练习题,我遇到了很多麻烦。我试图在用户指定的范围内打开文件,并进行计算,从一个文件移动到另一个文件。每个文件都有以下格式的file05数据-(int 1-99)。整个文件名为practice.exe。我的主函数有以下参数,看起来像。。。假设用户输入可执行文件/practice 10 13 #include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { FIL

我正试着做课本上的一道练习题,我遇到了很多麻烦。我试图在用户指定的范围内打开文件,并进行计算,从一个文件移动到另一个文件。每个文件都有以下格式的file05数据-(int 1-99)。整个文件名为practice.exe。我的主函数有以下参数,看起来像。。。假设用户输入可执行文件
/practice 10 13

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
    FILE* newfile;
    int i = argc;
    while (i<arvf[])   */im pretty sure i<arvf doesnt work but how do i capture
                         the range inputed by the user,and open each one?*/
       {
        newfile = fopen(("file05-data-%d.txt",i) "r")
        i = i + 1
       }
#包括
#包括
int main(int argc,char*argv[])
{
文件*newfile;
int i=argc;
而(iE.g.)

#包括
#包括
int main(int argc,char*argv[]){
文件*文件;
如果(argc!=3){
fprintf(stderr,“用法>练习开始数结束数”);
返回1;
}
int start=atoi(argv[1]);
int end=atoi(argv[2]);
如果(!(1)
这很好,但是您对argc和argv的使用是不正确的。我在这里假设您正在尝试打开文件#10、11、12、13

首先,通过以下方式检查您是否正在运行没有正确输入的二进制文件(我认为您需要两个参数):

要生成文件名,请执行以下操作:

char newfile[MAX_SIZE];
for(i=atoi(argv[1]); i<atoi(argv[2]); i++)
    {
        snprintf(newfile, "file-data-%d", i);
        //open this file, read data, and then loop to the next file
    }
char新文件[MAX_SIZE];

对于(i=atoi(argv[1]),我可以在这里使用fscanf吗?或者fgets?只是我不确定这些函数的缓冲区大小和参数是什么
./practice 10 13
if(argc!=3) 
{
   // print error msg & exit
}
char newfile[MAX_SIZE];
for(i=atoi(argv[1]); i<atoi(argv[2]); i++)
    {
        snprintf(newfile, "file-data-%d", i);
        //open this file, read data, and then loop to the next file
    }