我不确定我的程序发生了什么,但我基本上有一个函数试图从文件中读取一堆字符串并将其传递回 main 以进行进一步处理。这是我的代码:
char* readFile(FILE* fpFile)
{
// Local Declaration
char *ptr;
char temp[1000];
// Statment
fgets(temp, sizeof(temp), fpFile);
ptr = temp;
return ptr;
}// readFile
一旦函数将指针传回给 main,就会出现问题。我尝试打印字符串,但我只得到正确的前几行并且在它是垃圾之后。此外,如果我要ptr
在函数中打印,readFile
它打印得非常好,并且传递回主打印的指针也很好。有什么我想念的吗?任何帮助,将不胜感激。
这是我得到的输出
2000 1990
New York-No. NJ; 21199865 19549649
Los Angeles area; 16373645 14531629
Chicago area; 9157540 8239820
Washington-Baltimore; 7608070 6727050
San Francisco area; 7039362 6253311
Philadelphia-Atlantic City area; 6188463 5892937
Boston\240\365\277_\377
应该有两倍的输入量,但它停止了四分之一。