Вот мой код.Мой массив просто не заполняется.Проблема происходит с fscanf.Я знаю, что он отлично читает символы, потому что я пытался прочитать их в общий символ / указатель на строку, и он отлично читает.Просто не знаю, как скопировать символы в сложный массив.Указатель на указатель: O Формат текстового файла может быть примерно таким: *
Alice
Bob
Jerry
Ted
Мой код:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int lineCount = 1;
char* fileInput;
char c[100];
int allocatedBytes = 0;
fileInput = (char*)malloc(100*sizeof(char));
printf("File name: ");
gets(fileInput);
FILE * fptr;
if ((fptr = fopen(fileInput, "r")) == NULL)
{
printf("Error! opening file");
// Program exits if file pointer returns NULL.
exit(1);
}
//get number of names before dynamic array allocation
for(char c = getc(fptr); c!= EOF; c=getc(fptr))
if(c == '\n')
lineCount = lineCount + 1;
char **names = malloc(lineCount * sizeof(char *));
for(int i=0; i<lineCount; i++)
names[i] = (char *)malloc(100);
int i=0;
while((fscanf(fptr, "%99s", names[i]))!=EOF)
i++;
for(int i=0; i<lineCount; i++)
printf("%s\n", names[i]);
}