gpt4 book ai didi

c - 如何正确扫描结构中定义的缓冲区?

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:18 25 4
gpt4 key购买 nike

这是我的结构:

struct Data{
char *buffer[MAXBUFF];
int bufferSize;
};

这就是我调用函数 searchInFile 的方式:

searchInFile(logFile, outFile, &dat);

这是 searchInFile 函数本身:

void searchInFile(FILE *logFile, FILE *outFile, struct Data *dat){
FILE *srcFile = fopen("src.txt", "r");

if(!srcFile){
printf("Nepavyko atidaryti \"src.txt\" failo.\n");
fprintf(logFile, "Nepavyko atidaryti \"src.txt\" failo.\n");
fclose(srcFile);
return;
} else {
fprintf(logFile, "Failas \"src.txt\" atidarytas sekmingai.\n");
}

while(!feof(srcFile)){
fgets((*dat).buffer, MAXBUFF, srcFile);
printf("%s", dat->buffer);
}

fclose(srcFile);
}

我想做的是将字符扫描到缓冲区中,该缓冲区在结构中定义。我收到警告,说我从不兼容的指针类型传递了“fgets”的参数。如何正确扫描?

最佳答案

fgets 的第一个参数应该是 char *

所以你需要修复结构定义来自

struct Data{
char *buffer[MAXBUFF];
int bufferSize;
};

struct Data{
char buffer[MAXBUFF];
int bufferSize;
};

关于c - 如何正确扫描结构中定义的缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16947163/

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