标签: printf

使用printf()居中字符串

默认情况下,printf()似乎将字符串对齐到右侧.

printf("%10s %20s %20s\n", "col1", "col2", "col3");
/*       col1                 col2                 col3 */
Run Code Online (Sandbox Code Playgroud)

我也可以像这样对齐左边的文字:

printf("%-10s %-20s %-20s", "col1", "col2", "col3");
Run Code Online (Sandbox Code Playgroud)

有没有快速的方法来中心文本?或者,如果该列的文本宽度为8,我是否必须编写一个将字符串test转换为的函数(space)(space)test(space)(space)

c printf

23
推荐指数
2
解决办法
7万
查看次数

如何在printf中隐藏前导零

以下输出0.23.如何让它简单输出.23

printf( "%8.2f" , .23 );
Run Code Online (Sandbox Code Playgroud)

c double printf

23
推荐指数
3
解决办法
2万
查看次数

这些符号字符串是什么意思:%02d%01d?

我正在查看类似于以下的代码行:

sprintf(buffer,"%02d:%02d:%02d",hour,minute,second);
Run Code Online (Sandbox Code Playgroud)

我认为符号字符串是指每小时,每分钟等显示的数字字符数 - 或类似的东西,我不完全确定.

通常我可以想出这种事情,但我一直无法在谷歌上找到任何有用的参考搜索"%02d%01d".谁能够为我揭开这一点?

java printf

23
推荐指数
3
解决办法
9万
查看次数

printf\t选项

使用printfC在C 标准输出中打印制表符时,会输出一些空格,显示长度为4个字符.

printf("\t");
Run Code Online (Sandbox Code Playgroud)

在上述情况下,有什么办法可以控制标签宽度吗?任何帮助或建议表示赞赏.

c printf

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

awk对一列进行求和,并在每行输入上打印该总和

file.txt看起来像这样:

1 12
2 18
3 45
4 5
5 71
6 96
7 13
8 12
Run Code Online (Sandbox Code Playgroud)

我可以这样总结第二列:

awk '{ sum += $2 } END { print sum }' file.txt

272

我能在每一行打印这笔钱的最好方法是什么?这就是我所期待的:

1 12 272
2 18 272
3 45 272
4 5 272
5 71 272
6 96 272
7 13 272
8 12 272
Run Code Online (Sandbox Code Playgroud)

bash awk printf sed

23
推荐指数
2
解决办法
6万
查看次数

C99 printf格式化程序与C++ 11用户定义文字

这段代码:

#define __STDC_FORMAT_MACROS
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int main(int argc,char **argv)
{
   uint64_t val=1234567890;
   printf("%"PRId64"\n",val);
   exit(0);
}
Run Code Online (Sandbox Code Playgroud)

根据GCC 4.5,适用于C99,C++ 03,C++ 11,但根据GCC 4.7.1,在C++ 11上失败.在PRId64GCC 4.7.1编译之前添加空格.

哪一个是正确的?

c++ printf c99 code-translation c++11

23
推荐指数
1
解决办法
7386
查看次数

php sprintf与数组

我有一个数组巫婆匹配字符串占位符如下:

"some text %s another text %s extra text %s"
Run Code Online (Sandbox Code Playgroud)

和数组:

$array[0] match the first %s 
$array[1] match the second %s 
$array[2] match the third %s 
Run Code Online (Sandbox Code Playgroud)

我认为可以使用sprintf函数完成如下:

$content = sprintf("some text %s another text %s extra text %s", $array);
Run Code Online (Sandbox Code Playgroud)

但这会返回太少的参数错误,我试图使用implode:

$content = sprintf("some text %s another text %s extra text %s", implode(",",$array));
Run Code Online (Sandbox Code Playgroud)

提前致谢

php arrays printf

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

如何打印像ino_t这样的未知大小的类型?

我经常会遇到我想要printf使用整数类型的实现定义大小(如ino_ttime_t)的值进行打印的情况.现在,我使用这样的模式:

#include <inttypes.h>

ino_t ino; /* variable of unknown size */
printf("%" PRIuMAX, (uintmax_t)ino);
Run Code Online (Sandbox Code Playgroud)

这种方法到目前为止有效,但它有一些缺点:

  • 我必须知道我正在尝试打印的类型是签名还是未签名.
  • 我必须使用可能会扩大我的代码的类型转换.

有更好的策略吗?

c printf portability

23
推荐指数
3
解决办法
7785
查看次数

向printf()添加换行符会改变代码行为

出于某种原因,加入\nprintf()改变的下面的代码的行为.没有\n打印(null)的代码而\n导致的代码Segmentation fault.

Printf.c

#include <stdio.h>

int main(int argc, char* argv[]){
    printf("%s", argv[1]);
} 
Run Code Online (Sandbox Code Playgroud)

Printf.c - 输出

$ gcc -o Printf Printf.c
$ ./Printf
(null)
Run Code Online (Sandbox Code Playgroud)

Printf_Newline.c

#include <stdio.h>

int main(int argc, char* argv[]){
    printf("%s\n", argv[1]);
}
Run Code Online (Sandbox Code Playgroud)

Printf_Newline.c - 输出

$ gcc -o Printf_Newline Printf_Newline.c
$ ./Printf_Newline
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

我很想知道这背后的原因.

c linux printf

23
推荐指数
2
解决办法
2495
查看次数

Ruby zerofill是一个字符串

在Ruby中编写一个用零填充的整数是很容易的:

sprintf( "%010d", 345 ) #=> "0000000345"
Run Code Online (Sandbox Code Playgroud)

但是当我尝试用零填充String时,我找不到一个简单的解决方案:

sprintf( "%010d", "12AD" ) #=> ArgumentError: invalid value for Integer(): "12AD"
sprintf( "%010s", "12AD" ) #=> "      12AD"
Run Code Online (Sandbox Code Playgroud)

我想获得:

sprintf( "%010s", "12AD" ) #=> "00000012AD"
Run Code Online (Sandbox Code Playgroud)

ruby printf ruby-1.9.2

22
推荐指数
1
解决办法
8945
查看次数

标签 统计

printf ×10

c ×5

arrays ×1

awk ×1

bash ×1

c++ ×1

c++11 ×1

c99 ×1

code-translation ×1

double ×1

java ×1

linux ×1

php ×1

portability ×1

ruby ×1

ruby-1.9.2 ×1

sed ×1