У меня есть программа, в которой я помещаю строку из файла в массив указателей. Мой учитель сказал, что это неправильно, и я не знаю, почему?
#include <stdio.h>
#include <stdlib.h>
int readArray(FILE *wp, char *name)
{
int i = 0, j;
fscanf(wp, "%s", &name[0]);
printf("Print name: %s", name);
return 0;
}
int main (int argc, char *argv[])
{
FILE *wz;
char *name[1];
if (argc != 2) {
printf("Wrong arguments number\n");
printf("I should run this way:\n");
printf("%s source\n",argv[0]);
exit(1);
}
if( (wz= fopen(argv[1],"r")) == NULL) {
printf("Open error %s\n", argv[1]);
exit(1);
}
readArray(wz, *name);
int fclose(FILE *wz);
return 0;
}
Мой текстовый файл
arr1
Я запускаю код ./file1.x arr.txt
Может быть, я неправильно распределяю память?