如何在c中找到文件中的随机行?

时间:2014-03-30 13:41:42

标签: c file-io

我到目前为止的代码是这个,但它运行一个总线10错误我是c新手所以任何帮助将不胜感激

FILE *ptrFile;
ptrFile = fopen("/Users/ryanremer/NetBeansProjects/Hangman/movies.txt","r");   
int count = 0;
seek(ptrFile, 0, SEEK_END);   
count = ftell(ptrFile);
printf("%i",count);

srand(time(NULL));
random = rand()%count;
fseek(ptrFile,random, SEEK_SET );

char *printLine;
fgets(printLine,200,ptrFile); // skip a line incase random place is in middle of line
printLine= fgets(printLine,200,ptrFile);
printf("%s",printLine);

1 个答案:

答案 0 :(得分:2)

当你这样做时

char *printLine;
fgets(printLine,200,ptrFile);

定义名称为printLine的指针,该指针不指向任何有效位置。之后你会尝试在指针所指的地址写一些东西 别这么做!

首先,确保指针指向一个有足够空间用于输入的有效地址。