私のプログラムで何が起こっているのかわかりませんが、基本的には、ファイルから一連の文字列を読み取ろうとし、それをメインに戻してさらに処理する関数があります。これが私のコードです:
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
入力量は 2 倍になるはずですが、4 分の 1 で止まっています。