gpt4 book ai didi

c - 如何通读c中的文件列表

转载 作者:太空宇宙 更新时间:2023-11-04 07:49:43 24 4
gpt4 key购买 nike

我正在尝试使用 for 循环读取 C 中的文件列表,但它只读取第一个文件,然后存在 for 循环,我不确定为什么。我是 C 的新手,所以我可能犯了一个愚蠢的错误,但我已经坚持了一段时间了。这是我的代码。

#include <stdlib.h>
#include <stdbool.h>
#include <string.h>

#define MAXCHAR 1000


char* fileNames[] = {"file1.csv", "file2.csv"};
FILE* fp; //pointer to file

int main(){

for(int i = 0; i < sizeof(fileNames[i])/sizeof(char *); i++){
fp = fopen(fileNames[i],"r");
char line[MAXCHAR];

//If file can't be read
if(fp == NULL){
printf("Could not open file %s","latitude.csv");
return 0;
}

printf("Reading file %s\n",fileNames[i]);
while(fgets(line, MAXCHAR, fp) != NULL){

}
fclose(fp);

}
return 0;
}

最佳答案

您的大小计算中有一个杂散数组下标,这导致您的循环仅在 1 次迭代后终止:sizeof(fileNames[i])/sizeof(char *)

将其更改为:sizeof(fileNames)/sizeof(fileNames[0])

关于c - 如何通读c中的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54612580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com