gpt4 book ai didi

c - 将文件读入二维数组

转载 作者:行者123 更新时间:2023-11-30 20:56:27 25 4
gpt4 key购买 nike

从 c 读取文件(本质上是某种字符网格图)并将其放入某种可以通过其坐标访问字符的二维数组中时,最好的方法是什么?

示例输入文件类似于:

ffflli
ffsdfg
fl979p
kl8dfj

每个字符都可以根据其位置通过坐标来访问。即 (0,3) 为左下坐标

最佳答案

你可以这样做:

FILE *f;
f = fopen("sample.txt","r");
char ch, strr[100], *str;
int row = 0, column = 0, i = 0, j = 0;
while(fgets(strr, sizeof strr, f)) {
row++;
if(column < strlen(strr) )
column = strlen(strr);
}
rewind(f);
char arr[row][column];
while(i < row) {
ch = fgetc(f);
while( ch != EOF || ch != '\n') {
arr[i][j] = ch;
j++;
}
i++;
}
fclose(f);

如果文件非常大,您还可以避免第一次迭代文件。这是为了避免因不必要地向数组分配大尺寸而浪费内存。

关于c - 将文件读入二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220094/

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