gpt4 book ai didi

c - 读取文本文件并将每一行存储到 char*[] 中的程序

转载 作者:行者123 更新时间:2023-11-30 19:07:53 24 4
gpt4 key购买 nike

我是 C 编程新手。我正在编写一个程序,该程序读取文本文件并将每一行存储到 char*[] 数据结构中。我知道如何处理字符,但我不知道如何存储每一行​​?它需要一个二维数组吗?这就是我的代码,但出现段错误。我只是想打印出 I 和 j 来检查它是否有效。谢谢

#include <stdio.h>
#define NUMBER_LINES 400


int main()
{


char lines[NUMBER_LINES][255];
FILE *fp = fopen("input.txt", "r");

if (fp == 0)
{
return 1;
}
char c;
int i ;
while (fscanf (fp, "%c", &c) == 1)
{

i = 0;
int j;


for (j=0; !(c=='\n'); j++){
lines[i][j] = c;
}
if (c == '\n'){
printf("%s%s\n", lines[i][j]);
i++;
}
}

return 0;
}

最佳答案

您可以使用矩阵:

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

#define NUMBER_LINES 100

int main(void)
{
int i = 0;
char lines[NUMBER_LINES][255];
FILE *fp = fopen("file.txt", "r");

if (fp == 0)
{
fprintf(stderr, "failed to open input.txt\n");
exit(1);
}
while (i < NUMBER_LINES && fgets(lines[i], sizeof(lines[0]), fp))
{
lines[i][strlen(lines[i])-1] = '\0';
printf("\n%s", lines[i]);
i = i + 1;
}
fclose(fp);
return 0;
}

关于c - 读取文本文件并将每一行存储到 char*[] 中的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46354863/

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