gpt4 book ai didi

c - 如何在 C 中逐行读取 .txt?

转载 作者:行者123 更新时间:2023-11-30 18:12:08 24 4
gpt4 key购买 nike

我已经阅读了有关此内容的所有内容,但仍然不知道如何执行此操作。我正在尝试逐行读取 .txt 并将其放入数组中。我认为我的代码有点工作,但是当我尝试打印数组时它不允许我这样做。

#include<stdio.h>
#include<stdlib.h>
#include<omp.h>
int main(){
char s[20],*list[196][20];
int i;
FILE *lista;
lista=fopen("lista.txt","r");
i=0;
while(feof==0){
getline(list[i],0,lista);
i=i+1;
printf("%s\n",list[i]);
}
for(i=0;i<195;i++){
//printf("%s\n",list[i]);
}
fclose(lista);
}

之所以有 2 个打印是因为我尝试了两种方法来看看是否可以修复它。知道我做错了什么吗?我得到的错误是“格式‘%s’需要‘char *’类型的参数,但参数 2 的类型为‘char**’

最佳答案

将 list 声明为 char 指针数组 20 的数组 196 的原因是什么?该代码看起来更可靠。

int main ( void )
{
static const char filename[] = "lista.txt";
FILE *file = fopen ( filename, "r" );
char list[196][20];
int i = 0;
if ( file != NULL )
{
char line [ 128 ]; /* or other suitable maximum line size */
while ( fgets ( line, sizeof line, file ) != NULL ) /* read a line */
{
strcpy( list[i], line ); /* copy the line into list */
fputs ( line, stdout ); /* write the line */
++i;
}
fclose ( file );
}
else
{
perror ( filename ); /* why didn't the file open? */
}
return 0;
}

关于c - 如何在 C 中逐行读取 .txt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40579904/

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