标签: printf

JavaScript等效于printf/String.Format

我正在寻找一个很好的JavaScript等价的C/PHP printf()或C#/ Java程序员String.Format()(IFormatProvider对于.NET).

我的基本要求是现在有一千个数字分隔符格式,但处理许多组合(包括日期)的东西会很好.

我意识到Microsoft的Ajax库提供了一个版本String.Format(),但我们不希望该框架的整个开销.

javascript string.format printf

1874
推荐指数
30
解决办法
160万
查看次数

除非换行符在格式字符串中,为什么printf在调用后不会刷新?

printf除非换行符在格式字符串中,为什么在调用后不刷新?这是POSIX的行为吗?我怎么可能printf每次都立即冲洗?

c printf flush

509
推荐指数
10
解决办法
33万
查看次数

printf的格式很长的论点是什么?

printf函数采用参数类型,例如%d%i用于signed int.但是,我没有看到任何long价值.

c printf long-integer

461
推荐指数
6
解决办法
72万
查看次数

正确的printf格式说明符为double

doubleprintf中正确的格式说明符是什么?是它%f还是它%lf?我相信它%f,但我不确定.

代码示例

#include <stdio.h>

int main()
{
   double d = 1.4;
   printf("%lf", d); // Is this wrong?
}
Run Code Online (Sandbox Code Playgroud)

c floating-point double printf format-specifiers

451
推荐指数
5
解决办法
96万
查看次数

bool的printf格式说明符是什么?

由于ANSI C99存在_Boolbool通过stdbool.h.但是printfbool 还有一个格式说明符吗?

我的意思是伪代码:

bool x = true;
printf("%B\n", x);
Run Code Online (Sandbox Code Playgroud)

哪个会打印:

true
Run Code Online (Sandbox Code Playgroud)

c c++ printf boolean

413
推荐指数
5
解决办法
59万
查看次数

是否有printf转换器以二进制格式打印?

我可以用printf作为十六进制或八进制数打印.是否有格式标记打印为二进制或任意基数?

我正在运行gcc.

printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n"
print("%b\n", 10); // prints "%b\n"
Run Code Online (Sandbox Code Playgroud)

c printf

404
推荐指数
22
解决办法
73万
查看次数

如何使用printf系列便携地打印size_t变量?

我有一个类型的变量size_t,我想用它打印printf().我使用什么格式说明符来便携地打印它?

在32位机器上,%u似乎是对的.我编译了g++ -g -W -Wall -Werror -ansi -pedantic,并没有警告.但是当我在64位机器中编译该代码时,它会产生警告.

size_t x = <something>;
printf( "size = %u\n", x );

warning: format '%u' expects type 'unsigned int', 
    but argument 2 has type 'long unsigned int'
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,警告会消失,如果我将其更改为%lu.

问题是,如何编写代码,以便在32位和64位机器上编译警告?

编辑:作为一种解决方法,我想一个答案可能是将变量"转换"为一个足够大的整数,比如说unsigned long,并使用打印%lu.这在两种情况下都有效.我在寻找是否还有其他想法.

c printf

373
推荐指数
8
解决办法
27万
查看次数

如何使用printf格式化unsigned long long int?

#include <stdio.h>
int main() {
    unsigned long long int num = 285212672; //FYI: fits in 29 bits
    int normalInt = 5;
    printf("My number is %d bytes wide and its value is %ul. A normal number is %d.\n", sizeof(num), num, normalInt);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

My number is 8 bytes wide and its value is 285212672l. A normal number is 0.
Run Code Online (Sandbox Code Playgroud)

我认为这个意想不到的结果是来自打印unsigned long long int.你怎么printf()unsigned long long int

c syntax printf format-specifiers long-long

356
推荐指数
8
解决办法
73万
查看次数

345
推荐指数
9
解决办法
31万
查看次数

在没有循环或条件的情况下打印1到1000

任务:打印数字从1到1000,不使用任何循环或条件语句.不要只写1000次printf()cout语句.

你会怎么用C或C++做到这一点?

c c++ printf

323
推荐指数
52
解决办法
25万
查看次数