标签: printf

如何使用fprintf/printf打印短划线或点?

截至目前,我正在使用下面的线来打印出点

fprintf( stdout, "%-40s[%d]", tag, data);
Run Code Online (Sandbox Code Playgroud)

我期待输出会像下面这样,

Number of cards..................................[500]
Fixed prize amount [in whole dollars]............[10]
Is this a high winner prize?.....................[yes]

如何使用fprintf/printf打印短划线或点?

c c++ printf text

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

在纯C中打印void类型

我有一个像这样的功能

void printMe (void *i)
{
    printf("%d", i);
}
Run Code Online (Sandbox Code Playgroud)

我想传递一个无效指针并将其打印到屏幕上.上面的例子很好,如果i是整数,浮点数或双精度数,但如果我是一个char则崩溃.C中没有像我通常在C++中使用的那样重载.所以问题是这样,我们可以在C中创建一个函数来打印它作为参数的元素,如果是的话,这是怎么可能的,因为它在这一刻完全无法实现.

c printf type-conversion void

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

如何使用fprintf并写入管道?

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

现在我希望使用fprintf写入流1或2,但我的程序似乎没有在管道的另一端接收任何内容.我尝试过使用printf(),但我不确定这是默认写入stdout还是流1.如果它写入流1,我想它在我的代码更深处的问题.

基本上我问,给定一个表示流的int,我如何获得适合在fprintf()中使用的FILE*?

c printf system pipe

8
推荐指数
1
解决办法
3322
查看次数

微软_stprintf警告

为什么我收到以下代码的以下警告:)

码:

_stprintf(m_szFileNamePath,_T("%s"),strFileName);
Run Code Online (Sandbox Code Playgroud)

警告C4996:'_ swprintf':swprintf已更改为符合ISO C标准,添加了额外的字符计数参数.要使用传统的Microsoft swprintf,请设置_CRT_NON_CONFORMING_SWPRINTFS.

我知道_strprintf是一个宏,如果定义_UNICODE将评估为_swprintf,否则它将是sprintf.

现在这是什么_swprintf.有一个函数swprintf,但为什么_stprintf评估为_swprintf而不是swprintf.

b/w _xxx和xxx有什么区别?

编辑:

好的,_stprintf的UNICODE版本有两个定义,其中一个包含在内?

tchar.h或strsafe.h中的那个?

c++ printf visual-c++

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

存储va_list以便以后在C/C++中使用的最佳方法

我正在使用va_list来构造一个呈现的字符串.

void Text2D::SetText(const char *szText, ...)
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但现在用户可以在应用程序运行时更改语言.我需要重新生成所有文本字符串,并在初始化后重新缓存文本位图.我想存储va_list并在需要生成文本时使用它.

为了给你更多背景知识,这需要在我正在翻译的关键字符串中包含动态数据的情况下发生.

"Player Score:%d"
Run Code Online (Sandbox Code Playgroud)

这是我需要翻译的关键字符串.我希望保留va_list中提供的数字以供以后使用(在初始化文本的函数范围之外),以便在初始化后需要重新翻译.我希望保留一份va_list的副本,以便与vsnprintf一起使用.

我已经做了一些研究,并找到了一些方法.其中一些我质疑它是否是一种合适的方法(在稳定和便携方面).

c c++ printf variadic-functions

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

使用awk printf来urldecode文本

我正在使用awkurldecode一些文字.

如果我将字符串编码到printf语句中,就像printf "%s", "\x3D"正确输出一样=.如果我将整个转义字符串作为变量,则相同.

但是,如果我只有,我3D怎么能追加\x所以printf会打印=而不是\x3D?

我正在使用busybox awk 1.4.2和ashshell.

awk printf urldecode busybox

8
推荐指数
1
解决办法
6560
查看次数

如何在F#的printf格式字符串中放入文字百分号(%)?

我想使用F#的printfn函数打印%符号.在谷歌搜索格式语法之后,这应该可以解决问题:printfn "%%".显然不是...

F#交互输出:

> printfn "%%";;
%%
val it : unit = ()
Run Code Online (Sandbox Code Playgroud)

奇怪的...

我使用F#3.1和.NET 4.5,F#交互式会话使用.NET 4.0.一样.

供参考:printfn "%"不编译(缺少格式说明符),printfn "%s" "%"是我目前的解决方法......


更新:

当我将目标F#运行时从3.1更改为3.0时,它可以正常工作.这是3.1运行时中的错误吗?

printf f# .net-4.0 f#-3.1

8
推荐指数
1
解决办法
1331
查看次数

使用printf打印一个布尔值

我想打印一个boolean值printf,但我不知道如何.我正在寻找的是像这个虚构的代码

boolean car = true;
System.out.printf("%b",car);
Run Code Online (Sandbox Code Playgroud)

预期产量应为:

true
Run Code Online (Sandbox Code Playgroud)

我该怎么办?或者还有其他方法可以获得预期的输出吗?

java printf boolean

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

bash + for循环+输出索引号和元素

这是我的阵列:

$ ARRAY=(one two three)
Run Code Online (Sandbox Code Playgroud)

如何打印数组,以便输出如下:index i, element[i]使用我在下面使用的printfor for循环

1,one
2,two
3,three
Run Code Online (Sandbox Code Playgroud)

一些注意事项供我参考

1种打印阵列的方法:

$ printf "%s\n" "${ARRAY[*]}"
one two three
Run Code Online (Sandbox Code Playgroud)

2种打印阵列的方法

$ printf "%s\n" "${ARRAY[@]}"
one
two
three
Run Code Online (Sandbox Code Playgroud)

3种打印阵列的方法

$ for elem in "${ARRAY[@]}"; do  echo "$elem"; done
one
two
three
Run Code Online (Sandbox Code Playgroud)

4种打印阵列的方法

$ for elem in "${ARRAY[*]}"; do  echo "$elem"; done
one two three
Run Code Online (Sandbox Code Playgroud)

一种看待阵列的方式

$ declare -p ARRAY
declare -a ARRAY='([0]="one" [1]="two" [2]="three")'
Run Code Online (Sandbox Code Playgroud)

arrays bash printf

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

C++/C int32_t和printf格式:%d或%ld?

在某些平台上,int32_t(来自stdint.h)是long int,但在其他平台上,它可能是int.当我想使用时printf,我如何确定"%ld"或"%d"应该使用哪种格式?

或者,也许,我应该强制将其转换为如下所示:

int32_t m;
m = 3;
printf ("%ld\n", (long)m);
Run Code Online (Sandbox Code Playgroud)

但这种解决方案很乏味.有什么建议?

c c++ printf

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