首页 文章

Printf打印旧缓冲区 - C.

提问于
浏览
-2

我正在创建一个服务器/客户端 . clent向服务器发送消息,将其存储到文件中 . 比客户端可以读取此消息 . 所以,我只使用以下函数(加上bind等):fgets,read(用于从socket和file读取)write(写入文件/ socket) . 并打印printf .

奇怪的是,当我调用printf时,它会打印出一个旧文本 . 因此,例如,如果我决定删除所有消息,我将从服务器收到类似“文件已删除”的字符串 . 然后在下面的操作中,当有一个printf时,它会打印出desider内容加上前一个pessage的一部分,比如“file dele” . 这怎么可能?我应该在我的代码中查看什么?我没有使用fflush(stdout)等东西就把事情做对了 .

2 回答

  • 1

    尝试在开始和结束时使用带有"\n"的printf(),即printf(“ \n*******ur data***\n** "); or use printf(" \ n”);在你的块结束,以便在你开始打印新的之前打印所有内容 .

  • -1

    您应该检查正确的'\ 0'终止 .

相关问题