我是初学者,我必须编写一个从文件中读取列的程序。我抛弃了我能写的内容。我不知道如何只加载一个选定的列。如何处理数组的大小。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE *pr;
char fname[100];
int i, n;
char tablica[100][100];
printf ("File name\n");
scanf ("%s", &fname);
pr = fopen(fname,"r");
if (pr == NULL)
{
printf ("can't load file\n");
exit(-1);
}
printf ("column number\n");
scanf ("%d",&i);
if (i == NULL)
{
printf ("no column\n");
}
while (!feof(pr))
{
fscanf(pr, "%s",&tablica[i]);
printf ("%s\n",tablica[i]);
}
fclose (pr);
}
答案 0 :(得分:0)
文件加载错误,因为scanf ("%s", &fname);
读取地址为fname
的地址的文件名错误。
尝试传递char数组fname
的基址,如scanf ("%s", fname);