标签: printf

Ruby中的Sprintf

一个快速的问题.我在写:

puts "%.3f %.4f %.5f" % [3.998877, 3.998877, 3.998877]
Run Code Online (Sandbox Code Playgroud)

并获得以下输出:

3.999 3.9989 3.99888
Run Code Online (Sandbox Code Playgroud)

sprintf简单地围绕数字.如何限制舍入?

ruby printf rounding

4
推荐指数
1
解决办法
9640
查看次数

printf的意外结果

#include<stdio.h>
int main()
{
    printf("He %c llo",65);
}
Run Code Online (Sandbox Code Playgroud)

输出:他A爱

#include<stdio.h>
int main()
{
    printf("He %c llo",13);
}
Run Code Online (Sandbox Code Playgroud)

输出:llo.它不打印他.

我可以理解,65是A的ascii值,因此A在第一种情况下打印,但为什么llo在第二种情况下.

谢谢

c printf

4
推荐指数
2
解决办法
245
查看次数

如何编译.m2中的所有.jars?

我正在尝试调试mvn compile具有许多依赖关系的文件javac.

这就是我试图这样做的方式:

CLASSPATH=`find ~/.m2 -name *.jar -print0`; javac -verbose BogusFile.java
Run Code Online (Sandbox Code Playgroud)

我的问题是,我不知道如何告诉find将unix文件separator(:)中找到的每个jar分开.

也许-printf有解决方案?

printf command-line javac find maven

4
推荐指数
1
解决办法
1808
查看次数

在可变宽度列中打印数组内容

我希望以这样的方式修改我的代码,使列扩展以容纳数据.

下面是一个断行的示例

+========+=========+===============+=============+=============+
| Record | Cluster | Current Build | Current Use | Environment |
+--------+---------+---------------+-------------+-------------+
| 3      | 1       | v44           | v44 Live (currently - new company cluster)| PROD        |
+--------+---------+---------------+-------------+-------------+
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的(kludgy)代码

sub printData {
   if (@_) {
      # print the data grid top border
      printf ("%10s%10s%15s%14s%14s",'+'.('=' x 8).'+',('=' x 9).'+',('=' x 15).'+',('=' x 13).'+',('=' x 13).'+');
      print "\n";
      # print the data grid column titles
      printf ("%-9s%-10s%-16s%-14s%-15s",'| Record ','| Cluster ','| Current Build ','| Current Use …
Run Code Online (Sandbox Code Playgroud)

arrays perl printf dynamic-columns

4
推荐指数
1
解决办法
2322
查看次数

当一个通过另一个参数的引用传递时,printf如何处理它的参数

我发现了一些有趣的东西,但无法解释它.我正在编写一个简单的例程来反转字符串.这很好,没有抱怨.

我的问题在于printf.当我单独打印原始字符串时,它打印正确,但是当我打印原始字符串作为第一个arg,而函数调用reverse作为第二个时,两者都显示为反转.

输出:

|| abcdthelgko ||
Orig Str:| okglehtdcba |,Rev Str | okglehtdcba |

码:

char* ReverseStr(char* str, int len)
{
  char *start = &str[0], *end = &str[len-1];
  char temp;

  while(start < end)
  {
    temp = *start;
    *start = *end;
    *end = temp;

    start++;
    end--;
  }
  return str;
}

int main()
{
  char str_unique[] = "abcdthelgko";
  int str_unique_len = sizeof(str_unique)/sizeof(str_unique[0]);

  printf("\n || %s || \n", str_unique);
  printf("Orig Str: | %s |, Rev Str | %s |\n", str_unique, ReverseStr(str_unique, …
Run Code Online (Sandbox Code Playgroud)

c string printf pointers arguments

4
推荐指数
1
解决办法
496
查看次数

参数化printf中的格式说明符

我有几行输出,如下所示:

    printf("%-20s %-20s %-20s %-20s %-20s \n", "Identity", "Identity", "float", "double", "long double");
    printf("%-20s %-20s %-20s %-20s %-20s \n", "Number", "LHS", "error", "error", "error");
Run Code Online (Sandbox Code Playgroud)

如你所见,如果我想改变它们之间的间距,我将不得不将数字改为20次.有没有办法参数化格式说明符?那么只改变一次会改变它们吗?

c format printf

4
推荐指数
1
解决办法
600
查看次数

使用printf格式化输出:截断或填充

我想产生以下输出:

> Avril Stewart  99  54
> Sally Kinghorn 170 60
> John Young     195 120
> Yutte Schim... 250 40
Run Code Online (Sandbox Code Playgroud)

如您所见,短于14个字符的名称将用空格填充.截断超过15个字符的名称:'Yutte Schimmelpenninck'截断为'Yutte Schim ......'.

以下是我试图做到这一点(变量$name,$height以及$weight从文件中提取,并运行一个循环的printf每个文件数据的命令):

printf '%-14s -%3s -%3s\n' "$name" "$height" "$weight"
> Avril Stewart  99  54
> Sally Kinghorn 170 60
> John Young     195 120
> Yutte Schimmelpenninck 250 40
Run Code Online (Sandbox Code Playgroud)

甲printf单行是所希望的解决方案.

什么代码会产生第一个输出块?

bash awk printf formatted output

4
推荐指数
3
解决办法
3769
查看次数

Angular 2,TypeScript中的sprintf

有人能告诉我在Angular 2 Typescript组件中使用完整的sprintf库(零填充和标准sprintf中通常存在的所有其他功能)所需的所有步骤吗?谢谢.

printf typescript angular

4
推荐指数
4
解决办法
7907
查看次数

以编程方式将字符串宽度值插入sprintf()

我试图以编程方式将字符串宽度值插入sprintf()格式.

期望的结果是

sprintf("%-20s", "hello")
# [1] "hello               "
Run Code Online (Sandbox Code Playgroud)

但我想20在同一个电话中即时插入,以便它可以是任何数字.我试过了

sprintf("%%-%ds", 20, "hello")
# [1] "%-20s"
sprintf("%-%ds", 20, "hello")
# Error in sprintf("%-%ds", 20, "hello") : 
#   invalid format '%-%d'; use format %f, %e, %g or %a for numeric objects
sprintf("%-%%ds", 20, "hello")
# Error in sprintf("%-%%ds", 20, "hello") : 
#   invalid format '%-%%d'; use format %f, %e, %g or %a for numeric objects
Run Code Online (Sandbox Code Playgroud)

这有可能sprintf()吗?

string printf r

4
推荐指数
1
解决办法
150
查看次数

格式化说明符以在C ++ 11中可移植地打印std :: uint64_t变量

使用C ++系列中的函数来打印类型值std::uint64_t(来自<cstdint>)的格式说明符是什么std::printf()?

C99有PRIu64(from <inttypes.h>),但对我来说还不是完全清楚PRIu64有效的C ++ 11,尽管我可以找到暗示。

没有PRIu64,据我所知,没有单一格式说明符可在所有情况下使用:

  • 在32位平台上,std::uint64_t将定义为unsigned long long,格式说明符将为%llu。
  • 在64位平台上,std::uint64_t将被定义为unsigned long,格式说明符将为%lu。
  • 但是,对于Visual Studio,%llu在两种情况下都可以使用。

c++ printf portability c++11

4
推荐指数
1
解决办法
111
查看次数