I want to make an array of strings where each string is one line from a text file. When i do strcpy(stringList[lineCount], lineBuf) I get segmentation fault and don't know why.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXLINELENGTH 20
#define MAXLINES 10
int fileToStringList(char* fileName, char** stringList){
char* lineBuf = (char*) malloc(MAXLINELENGTH);
size_t lineBufSize = 0;
int lineCount = 0;
ssize_t lineSize;
FILE* fp = fopen(fileName, "r");
if(!fp){
printf("Error reading file");
exit(1);
}
lineSize = getline(&lineBuf, &lineBufSize, fp);
while(lineSize >= 0){
strcpy(stringList[lineCount], lineBuf);//segmentation fault
lineCount++;
lineSize = getline(&lineBuf, &lineBufSize, fp);
}
fclose(fp);
return lineCount;
}
int main(int argc, char* argv[]){
char* fileName = argv[2];
char** stringList = (char**) malloc(MAXLINES);
int lineCount;
lineCount = fileToStringList(fileName, stringList);
printf("Number of lines: %d\n", lineCount);
}