我有一个C函数,可以从文本文件中读取一些行。它采用整数“输入”,并在文本文件中打印前“输入”行。我在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";
......}
我不会发布该功能的其余部分,因为它会在该功能的开头出现错误。