У меня есть функция C для чтения некоторых строк из текстового файла. он принимает целое число «input» и печатает первые «входные» строки в текстовом файле. У меня есть этот код в папке в Ubuntu, и у меня есть текстовый файл в этой папке. Когда я запускаю свой код, он входит в мою функцию, но выдает ошибку, которую я пишу в случае, когда файл не может быть открыт. Я проверил функцию, и она работала раньше. Я думаю, что что-то не так с адресом моего текстового файла, и я не вижу его, так как я довольно новичок в этой среде Ubuntu. Вот моя функция.
void head(int lineCount, char *file, char* outFile){
FILE *fp; //file pointer
fp = fopen(file, "r"); //read mode
if(!fp)
{
perror("Couldn't open the file");
exit(1);
}
char chunk[1000];
size_t len= sizeof(chunk);
char *line = (char *)malloc(len);
if(line == NULL){
perror("Unable to allocate memory for the line buffer");
exit(1);
}
line[0]="\0";
int numLines=1;
char *fileLine=(char *)malloc(len);
fileLine[0]="\0";
......}
Остальная часть функции не публикуется, поскольку она выдает ошибку в начале функции.