Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ fprintf函数不工作,但返回正数_C++_C_Stdio_Buffering_Printf - Fatal编程技术网

C++ fprintf函数不工作,但返回正数

C++ fprintf函数不工作,但返回正数,c++,c,stdio,buffering,printf,C++,C,Stdio,Buffering,Printf,我正在以以下方式使用fprintf。似乎一切正常,但fprintf根本无法打印到我的文件中 fprintf(pFile, "%s\n", "print"); 奇怪的是,fprintf返回OK。它返回上述代码中的6,但不打印到文件 文件已成功创建,但为空 将其更改为printf正在打印,并且OK也在打印。fprintf和其他stdio输出函数被缓冲,这意味着输出首先存储在内存中,直到稍后才实际打印。当使用标准输出打印到屏幕时,每一新行都会刷新缓冲区,因此使用printf可以立即看到输出,但当打印

我正在以以下方式使用
fprintf
。似乎一切正常,但
fprintf
根本无法打印到我的文件中

fprintf(pFile, "%s\n", "print");
奇怪的是,
fprintf
返回
OK
。它返回上述代码中的
6
,但不打印到文件

文件已成功创建,但为空


将其更改为
printf
正在打印,并且
OK
也在打印。

fprintf
和其他stdio输出函数被缓冲,这意味着输出首先存储在内存中,直到稍后才实际打印。当使用标准输出打印到屏幕时,每一新行都会刷新缓冲区,因此使用
printf
可以立即看到输出,但当打印到文件时,缓冲区在写入4096字节(例如)后才会刷新。您可以添加
fflush(pFile)刷新缓冲区


调用
fclose
或通过正确退出程序隐式关闭文件时,缓冲区也会被刷新,但如果程序在不关闭文件的情况下继续运行,或者如果程序崩溃,则需要
fflush
查看文件上的输出。

fprintf
和其他stdio输出函数会被缓冲,这意味着输出首先存储在内存中,直到稍后才实际打印。当使用标准输出打印到屏幕时,每一新行都会刷新缓冲区,因此使用
printf
可以立即看到输出,但当打印到文件时,缓冲区在写入4096字节(例如)后才会刷新。您可以添加
fflush(pFile)刷新缓冲区


调用
fclose
或通过正确退出程序隐式关闭文件时,缓冲区也会被刷新,但如果程序在不关闭文件的情况下继续运行,或者如果程序崩溃,则需要
fflush
查看文件上的输出。

fprintf
和其他stdio输出函数会被缓冲,这意味着输出首先存储在内存中,直到稍后才实际打印。当使用标准输出打印到屏幕时,每一新行都会刷新缓冲区,因此使用
printf
可以立即看到输出,但当打印到文件时,缓冲区在写入4096字节(例如)后才会刷新。您可以添加
fflush(pFile)刷新缓冲区


调用
fclose
或通过正确退出程序隐式关闭文件时,缓冲区也会被刷新,但如果程序在不关闭文件的情况下继续运行,或者如果程序崩溃,则需要
fflush
查看文件上的输出。

fprintf
和其他stdio输出函数会被缓冲,这意味着输出首先存储在内存中,直到稍后才实际打印。当使用标准输出打印到屏幕时,每一新行都会刷新缓冲区,因此使用
printf
可以立即看到输出,但当打印到文件时,缓冲区在写入4096字节(例如)后才会刷新。您可以添加
fflush(pFile)刷新缓冲区



调用
fclose
或通过正确退出程序隐式关闭文件时,缓冲区也会被刷新,但如果程序在不关闭文件的情况下继续运行,或者如果程序崩溃,则需要
fflush
查看文件的输出。

您是如何打开pFile的?打开文件时是否检查了返回值?请显示打开文件的代码。是否正在调用
fclose
?否则,缓冲区可能不会刷新!如果您不清楚刷新缓冲区是什么,那么这可以帮助您回答问题。您是如何打开pFile的?打开文件时是否检查了返回值?请显示打开文件的代码。是否正在调用
fclose
?否则,缓冲区可能不会刷新!如果您不清楚刷新缓冲区是什么,那么这可以帮助您回答问题。您是如何打开pFile的?打开文件时是否检查了返回值?请显示打开文件的代码。是否正在调用
fclose
?否则,缓冲区可能不会刷新!如果您不清楚刷新缓冲区是什么,那么这可以帮助您回答问题。您是如何打开pFile的?打开文件时是否检查了返回值?请显示打开文件的代码。是否正在调用
fclose
?否则,缓冲区可能不会刷新!如果您不清楚刷新缓冲区是什么,这将有助于Thomas回答。非常感谢!它帮助了我。:)多谢各位!它帮助了我。:)多谢各位!它帮助了我。:)多谢各位!它帮助了我。:)