问题标签 [fflush]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

c - 为什么这条烦人的线路会干扰我的输出?

我开发的这段代码只是为了解决我正在开发的另一个大型程序中遇到的问题。

我的目标很简单,当用户输入退出时。

我只会显示

找到退出命令

退出...

这三个点中的每一个之间都有一秒钟的延迟。

但是我得到的输出是

找到退出命令

退出。烦人的线。。

我想知道这条恼人的线怎么会在第一个点之后打印,即使它来自调用函数,而且轮到它打印到终端了????

有任何想法吗。我花了 10 个小时试图解决这个问题

0 投票
1 回答
1138 浏览

process - 如何在父进程或子进程中停止程序?

我开发的这段代码只是为了解决我正在开发的另一个大型程序中遇到的问题。

我的目标很简单,当用户输入退出时。

我只会显示

找到退出命令

退出...

这三个点中的每一个之间都有一秒钟的延迟。

但是我得到的输出是

找到退出命令

退出。其他的东西 ..

但是,似乎发生的是父进程返回,然后从调用函数执行其他内容,然后继续打印其他两个点。我将如何避免父进程这样做?

0 投票
1 回答
64 浏览

objective-c - 为什么objective-c语言中的循环“scanf”方法死循环?

我用objective-c写了一个小控制台程序。需要用scanf的方法来接收号码,输入一个字符会出错,所以我尝试解决,但是已经进入了死循环!看到下面的代码,帮我解决一下,非常感谢!

0 投票
2 回答
305 浏览

c - 修改 fflush() 以保证在 C 中连续调用 ungetc() 两次

我是 C 初学者,我想连续调用 ungetc() 两次,尽管我知道在常规 C 中这是不允许的。有人告诉我我可以修改Fflush()来完成这项工作,但我不知道该怎么做。

这是我的代码,我Fflush只允许一个ungetc(),我希望它允许两次。

0 投票
2 回答
1890 浏览

c - 从控制台中删除换行符

我有这个循环,但是当我在我的角色之后按 Enter 键时,它会对其进行处理,然后在再次要求输入之前处理 '\n'。请!!!!帮助

5[ENTER]处理 5 作为输入,然后将 10(即 ascii '\n')作为输入,然后再次请求输入。它让我发疯

0 投票
1 回答
2725 浏览

bash - 在 bash 中,如何强制刷新打印到终端的不完整行

我正在编写一个执行以下操作的脚本:

请原谅糟糕的 bash 技能。无论如何,问题是该行的第一部分在完成之前不会被打印do_stuff- 虽然对我来说重要的是用户知道我接下来要运行什么。这对我来说很重要,因为我很迂腐,不要打印换行符。因此,文本在缓冲区中并且不会被刷新。

这个问题非常相似,但是那里的OP对事情的基本方式感到满意。我不是。如果迫不得已,我什至愿意使用与诅咒相关的东西(但请记住,这毕竟是一个 shell 脚本)。

0 投票
1 回答
186 浏览

c - glibc 2.23 中的 fflush 行为变化

从 2.23 开始,glibc 似乎已经改变了它在使用 fmemopen 创建的流的 fflush 上的行为,因为它将位置重置为 0。我在更改日志中看到 fmemopen 的实现已更新以修复一堆错误,但这些错误都没有谈论这种行为,对我来说这似乎是一个不正确的改变。我一直在尝试确定这是一个新的错误,还是一个正确的修复。我自己的代码依赖于旧行为并在我更新到 glibc 2.23 附带的 Ubuntu 16.04 后中断。有人知道这件事吗?

这是一些示例代码:

在早期版本中(例如在 ubuntu 5.10< 下),这将导致:

现在它返回:

0 投票
2 回答
401 浏览

c++ - 为什么 fflush() 需要不同的时间来刷新同一条数据

我有一个文件描述符,我总是向其中写入两个浮点数。请注意,我总是在向文件写入任何内容之前调用 rewind(),这意味着我总是在写入第一行。基本上,将其视为在文件中维护“当前状态”。写完后我也会调用 fflush() 。我在我的应用程序中遇到延迟峰值,当我检查时,我发现 fflush() 通常需要大约 2-3 微秒(是的,我有一个邪恶的快速服务器)但在其他时间(大约 6-7“正常写入-刷新周期”)我看到所花费的时间增加了数千次(15000+ 微秒)

你能告诉我在这种情况下我必须检查什么吗?如何修复/调试此问题?

0 投票
1 回答
682 浏览

c - 在多线程信号处理程序中调用 fflush?

我有一个实现多线程 Web 代理的基本草图:

这个想法是网络管理员可以通过使用命令向Web 代理kill发送信号来将缓冲的日志条目刷新到日志文件。SIGUSR1但是,我不确定fflush在信号处理程序内部调用是否是个好主意。我知道fflush是线程安全的,但不认为它是异步信号安全的。fflush在多线程的信号处理程序内部调用可能会出现什么并发问题?

0 投票
1 回答
236 浏览

linux - 非交互式中的 awk 丢失了一些数据

我在 shell 脚本中运行 awk 命令,它破坏了数据文件。所有数据都不会加载,并且每行末尾都有一个换行符。

如果我将其作为命令运行,它会完美运行。

我刚刚发现我可以使用 fflush() 并且它似乎已经解决了这个问题。

所以现在我有:

我是在为灾难做好准备吗?

此外,该文件被重命名为 $filename.locked.concur0 - 我猜这个零是从 fflush 返回的退出代码?我如何摆脱这个0?

完整代码: