标签: printf

格式编号为固定宽度,前导零

以下代码

a <- seq(1,101,25)
b <- paste("name", 1:length(a), sep = "_")
Run Code Online (Sandbox Code Playgroud)

产生这个输出:

"name_1"  "name_26"  "name_51"  "name_76"  "name_101"
Run Code Online (Sandbox Code Playgroud)

我希望所有值的宽度相同,这意味着我可以用这样的零填充值:

"name_001"  "name_026"  "name_051"  "name_076"  "name_101"
Run Code Online (Sandbox Code Playgroud)

我该如何处理?

(这个问题是关系到这一个.)

format printf r

129
推荐指数
1
解决办法
9万
查看次数

Java:在printf语句中使用文字百分号

我试图在Java中的printf语句中添加一个实际的百分号,我收到错误:

lab1.java:166: illegal escape character
                System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence);
                                                 ^
lab1.java:166: illegal escape character
                System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence);
                                                          ^
2 errors
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将一个实际的百分号放入我的printf?我认为使用\%来逃避它会起作用,但事实并非如此.

有任何想法吗?

java printf escaping

125
推荐指数
2
解决办法
11万
查看次数

当在C89模式下编译时,以下程序如何输出`C89`和在C99模式下编译时输出`C99`?

我从网上找到了这个C程序:

#include <stdio.h>

int main(){

    printf("C%d\n",(int)(90-(-4.5//**/
    -4.5)));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个程序的有趣之处在于,当它在C89模式下编译和运行时,它会打印C89,当它被编译并在C99模式下运行时,它会打印出来C99.但我无法弄清楚这个程序是如何工作的.

你能解释一下第二个参数如何printf在上面的程序中起作用吗?

c printf comments c99 c89

125
推荐指数
3
解决办法
5605
查看次数

如何使用scanf输入空格?

使用以下代码:

char *name = malloc(sizeof(char) + 256); 

printf("What is your name? ");
scanf("%s", name);

printf("Hello %s. Nice to meet you.\n", name);
Run Code Online (Sandbox Code Playgroud)

用户可以输入他们的名字,但是当他们输入一个像空格一样的名字时Lucas Aardvark,scanf()只需切断后面的所有内容Lucas.如何设置scanf()允许空格

c string whitespace printf scanf

121
推荐指数
8
解决办法
31万
查看次数

C中%n格式说明符的用途是什么?

%nC 中的格式说明符有什么用?有人可以用一个例子来解释吗?

c printf

116
推荐指数
7
解决办法
10万
查看次数

有没有办法使用printf()指定要打印的字符串的字符数?

有没有办法指定要打印的字符串的字符数(类似于ints中的小数位)?

printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars");
Run Code Online (Sandbox Code Playgroud)

想要打印: Here are the first 8 chars: A string

c c++ printf

109
推荐指数
5
解决办法
10万
查看次数

避免在printf()中尾随零

我一直绊倒printf()函数系列的格式说明符.我想要的是能够在小数点后打印一个最大给定位数的double(或float).如果我使用:

printf("%1.3f", 359.01335);
printf("%1.3f", 359.00999);
Run Code Online (Sandbox Code Playgroud)

我明白了

359.013
359.010
Run Code Online (Sandbox Code Playgroud)

而不是期望的

359.013
359.01
Run Code Online (Sandbox Code Playgroud)

有谁能够帮我?

c printf

105
推荐指数
4
解决办法
11万
查看次数

带有空格的左边打印页面

使用printf时,如何在左侧填充带空格的字符串?

例如,我想打印"Hello",前面有40个空格.

另外,我想要打印的字符串由多行组成.我是否需要单独打印每一行?

编辑:为了清楚起见,我想在每一行之前打印40个空格.

c formatting printf

101
推荐指数
4
解决办法
20万
查看次数

Haskell printf如何工作?

Haskell的类型安全性仅对于依赖类型的语言是首屈一指的.但是Text.Printf有一些深刻的魔力似乎相当类型.

> printf "%d\n" 3
3
> printf "%s %f %d" "foo" 3.3 3
foo 3.3 3
Run Code Online (Sandbox Code Playgroud)

这背后的深层魔力是什么?该Text.Printf.printf函数如何采用像这样的可变参数?

用于允许Haskell中的可变参数的一般技术是什么,它是如何工作的?

(旁注:使用这​​种技术时,某种类型的安全性显然会丢失.)

> :t printf "%d\n" "foo"
printf "%d\n" "foo" :: (PrintfType ([Char] -> t)) => t
Run Code Online (Sandbox Code Playgroud)

printf haskell variadic-functions polyvariadic

99
推荐指数
1
解决办法
1万
查看次数

为什么printf具有单个参数(没有转换说明符)?

在我正在阅读的一本书中,写printf了一个单一的参数(没有转换说明符)被弃用了.它建议替代

printf("Hello World!");
Run Code Online (Sandbox Code Playgroud)

puts("Hello World!");
Run Code Online (Sandbox Code Playgroud)

要么

printf("%s", "Hello World!");
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么printf("Hello World!");是错的?书中写道它包含漏洞.这些漏洞是什么?

c security printf format-specifiers puts

99
推荐指数
10
解决办法
1万
查看次数