问题标签 [printf]

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 投票
3 回答
11830 浏览

c - glibc 的 fprintf() 实现是线程安全的吗?

fprintf 线程安全吗? glibc 手册似乎是这样说的,但是我的应用程序使用对 fprintf() 的单次调用写入文件似乎混合了来自不同进程的部分写入。

编辑:为了澄清,有问题的程序是一个lighttpd插件,并且服务器正在运行多个工作线程。

查看文件,一些写入是混合在一起的。

编辑2:看来我看到的问题可能是由于lighttpd的“工作线程”实际上是单独的进程:http://redmine.lighttpd.net/wiki/lighttpd/Docs:MultiProcessor

问题

通过在同一个套接字上运行 2 个或更多进程,您将获得更好的并发性,但您必须注意一些缺点:

  • mod_accesslog 可能会创建损坏的访问日志,因为同一个文件被打开两次并且不同步。
  • mod_status 将有n 个单独的计数器,每个进程一组。
  • mod_rrdtool 将失败,因为它两次接收到相同的时间戳。
  • mod_uploadprogress 不会显示正确的状态。
0 投票
8 回答
4228 浏览

c++ - 当 cout 显示正确大小时,为什么 printf 显示向量大小为 0?

当我使用 printf 和 %d 来获取向量的大小时,我不明白为什么会得到 0:

如果我通过向量遍历

我得到了正确的迭代次数。

我做错了什么或printf怎么了?size() 返回一个 int 对吗?


这是我的整个小脚本:

0 投票
56 回答
2117541 浏览

javascript - JavaScript 等价于 printf/String.Format

我正在寻找与 C/PHPprintf()或 C#/Java 程序员String.Format()IFormatProvider对于 .NET)相当的好的 JavaScript。

我现在的基本要求是数字的千位分隔符格式,但是处理大量组合(包括日期)的东西会很好。

我意识到微软的Ajax库提供了一个版本String.Format(),但我们不想要该框架的全部开销。

0 投票
10 回答
17033 浏览

c - sprintf() 的可定制实现

谁能指出我可以根据自己的需要自定义的源代码文件或在 C 中具有良好、可重用的 sprintf() 实现的包?

关于我为什么需要它的解释:字符串在我的代码中不是以空结尾的(二进制兼容)。因此 sprintf("%s") 是无用的,除非我修复代码以了解如何呈现字符串。

感谢 quinmars 指出有办法通过 %s 打印字符串而不会被空终止。虽然它现在解决了需求,但我最终将需要 sprintf(或 snprintf)实现来实现使用变体的更高级别的功能。在到目前为止提到的其他内容中,在我看来 SQLite 实现是最好的。感谢 Doug Currie 指出这一点。

0 投票
2 回答
5377 浏览

c++ - snprintf 格式字符串安全漏洞问题

我们对这行代码有一个 Coverity 错误:

错误说:

我将 testStrings 更改为 const,但这并没有做任何事情:

关于这个错误的真正含义有什么想法吗?

0 投票
6 回答
2437 浏览

perl - Why doesn't Perl print the last text before it exits?

My code won't run the last line right before " exit; " and I have no clue why. I tried to put an additional printf $fh line before exit, but that didn't work either; it would not print either line. Everything else prints fine except the last print statements before the exit.

Any clue why this happens? Or better yet, how to fix or work around it?

EDIT:
Part of the code I copied contained this

Maybe this is why my results couldn't be duplicated....

0 投票
1 回答
3723 浏览

c - 如何使用 fprintf 并写入管道?

我创建了一个管道,并使用 dup2() 将流 1 和 2(stdout 和 stderr)覆盖到这些管道中。

现在我希望使用 fprintf 写入流 1 或 2,但我的程序似乎没有在管道的另一侧接收任何内容。我试过使用 printf(),但我不确定这是否默认写入标准输出或流 1。如果它写入流 1,我猜它是我代码中某个更深的地方的问题。

本质上我是在问,给定一个表示流的 int,我怎样才能获得适合在 fprintf() 中使用的 FILE*?

0 投票
3 回答
2538 浏览

printf - cout 和 printf 的缓冲区和输出序列

我知道今天 cout 和 printf 有缓冲区,据说缓冲区有点像堆栈,从右到左获取 cout 和 printf 的输出,然后从上到下将它们输出(到控制台或文件)。像这样,

然后我在下面写一个代码,

VS2005下,输出为

在 g++( (GCC) 3.4.2 (mingw-special)) 下,输出为,

看起来缓冲区就像一个堆栈。但是,我今天阅读了C++ Primer Plus,据说 cout 从左到右工作,每次返回一个对象(cout),所以“这就是让您通过插入连接输出的功能”。但是从左到右的方式无法解释 cout< 输出 9 8 7 现在我对 cout 的缓冲区如何工作感到困惑,有人可以帮助我吗?

0 投票
3 回答
484 浏览

c - 当管道就位并覆盖了 stdout 和 stderr 时,printf 去哪里了?

我已经设置管道来重定向标准错误和标准输出。当我使用 printf 时,它会将数据发送到标准输出还是流 1?

如果它将它发送到标准输出,我该如何配置它以将数据发送到流 1?

0 投票
1 回答
7994 浏览

cocoa - 为什么 NSString 和 NSLog 似乎以不同的方式处理 %C 和 %lc(以及 %S 和 %ls)?

Apple 的字符串格式说明符文档声明,

NSString 格式化方法和 CFString 格式化函数支持的格式说明符遵循IEEE printf 规范;…您还可以将这些格式说明符与 NSLog 函数一起使用。

但是,虽然printf规范定义%C%lc%S的等价物%ls,但只有%C%S似乎可以与NSLog和一起正常工作+[NSString stringWithFormat:]

例如,考虑以下代码:

鉴于printf规范,我希望上述每一对都打印相同的东西。但是,当我运行代码时,我得到以下输出:

我做错了什么,或者这是Apple代码中的错误?