#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define size 4
void read_world(FILE *inp,x[][size])
int i, j, t;
if (inp==NULL) {
printf("File is missing\n");
return (0);
}
else {
for (i=0;i < 4;i++) {
for (j=0;j < 4;j++) {
(fscanf(inp, "%d", &t)); // error only reads first row of text
x[i][j]=t;
}
printf("%d\n", x[i][j]);
}
}
return(0);
}
int main(void) {
int i, j;
int g[4][4];
FILE*inp=fopen("world.txt", "r"); // reads file
read_world(inp, g);
return (0);
}
需要从名为world的.txt文件中读取文本的代码。它是一个非常简单的代码,发送似乎正确读取,该文件由数字和字符组成,如&#34; 0&#34; s和&#34; *&#34;它们以4乘4的矩阵排列。结果只是在屏幕上打印文件的内容。
答案 0 :(得分:1)
我认为this可能对阅读有用。使用fscanf
的返回值来检查数据
答案 1 :(得分:1)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define size 10
void read_world(FILE *inp, int x[][size])
{
int i, j,t;
if (inp == NULL)
{
printf("File is missing\n");
return (0);
}
else
{
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
(fscanf(inp,"%d", &t));
x[i][j]=t;
}
}
}
return(0);
}
int main(void)
{
int i, j;
int g[10][10];
FILE*inp = fopen("world.txt", "r");
read_world(inp, g);
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
g[i][j];
if (g[i][j] == 0)
printf("0 ");
else
printf("* ");
}
printf("\n");
}
return (0);
}
截图