我正在尝试调试mvn compile具有许多依赖关系的文件javac.
这就是我试图这样做的方式:
CLASSPATH=`find ~/.m2 -name *.jar -print0`; javac -verbose BogusFile.java
Run Code Online (Sandbox Code Playgroud)
我的问题是,我不知道如何告诉find将unix文件separator(:)中找到的每个jar分开.
也许-printf有解决方案?
我希望以这样的方式修改我的代码,使列扩展以容纳数据.
下面是一个断行的示例
+========+=========+===============+=============+=============+
| 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) 编辑:我已经知道printf不是类型安全我只是在寻找一个关于究竟是什么发生的探索(我的意思是描述未定义的行为).
为什么我在第二个printf中打印"7",程序打印9.334354.我知道如果我不写7.0,这将不会被打印,但为什么要写第一个数字呢?
#include <stdio.h>
int main()
{
printf("%.2f\n", 9.334354);
printf("%.5f\n", 7);
printf("%03d\n", 9);
getchar();
}
Run Code Online (Sandbox Code Playgroud)
这是输出
9.33
9.33435
009
Run Code Online (Sandbox Code Playgroud) 有谁知道更好地执行的sprintf在PHP?我正在寻找像python中的字符串格式:
print "Hello %(name)s. Your %(name)s has just been created!" % { 'name' : 'world' }
# prints::: Hello world. Your world has just been created!
Run Code Online (Sandbox Code Playgroud)
这样可以避免在不需要的情况下重复相同的变量,例如:
sprintf("Hello %s. Your %s has just been created!", 'world', 'world');
# prints::: Hello world. Your world has just been created!
Run Code Online (Sandbox Code Playgroud)
我想我自己很容易构建这个,但是如果你知道我的意思,我不想重新发明轮子......但我找不到(也许是错误的搜索关键词)任何地方的任何痕迹.
如果有人可以帮忙,我很感激.
干杯,
我跑这个简单的程序,但是当我从转换int到double,结果是零.的sqrt零点的随后显示负值.这是一个在线教程的例子,所以我不确定为什么会这样.我试过Windows和Unix.
/* Hello World program */
#include<stdio.h>
#include<math.h>
main()
{ int i;
printf("\t Number \t\t Square Root of Number\n\n");
for (i=0; i<=360; ++i)
printf("\t %d \t\t\t %d \n",i, sqrt((double) i));
}
Run Code Online (Sandbox Code Playgroud) 如果我手动启动它,我有一个正确运行的程序.但是,如果我尝试添加注册表项以在启动期间自动启动它,我会收到此错误:
Debug assertion failed (str!=null) fprintf.c line:55
Run Code Online (Sandbox Code Playgroud)
在发生任何事情之前我试图添加Sleep(20000),但是我得到了同样的错误.
这是代码:
main()
{
FILE* filetowrite;
filetowrite = fopen("textfile.txt", "a+");
writefunction(filetowrite);
}
int writefunction(FILE* filetowrite) {
fprintf(filetowrite, "%s", "\n\n");
...
}
Run Code Online (Sandbox Code Playgroud)
我也试过传递文件名char*并打开它writefunction(),但我得到了同样的错误.
我的问题很简单.我想使用printf打印具有指定数量的前导零的整数.但是,前导零的数量是由运行时决定的,而不是先验的.我怎么能这样做?
如果我知道字符的数量(比方说5),那就是
printf("%05d", number);
Run Code Online (Sandbox Code Playgroud)
但我不知道它是否会是5.
我想在小数点后打印最多6位数,所以我使用了以下内容:
printf("%.6g",0.127943989);
Run Code Online (Sandbox Code Playgroud)
输出printf是0.127944这是正确的,但当我尝试这个:
printf("%.6g",0.007943989);
Run Code Online (Sandbox Code Playgroud)
输出变为0.00794399,这不是我期望看到的!
似乎printf在小数点后忽略零.那么如何强制它输出最大6位精度?
据我所知,使用超大字符串,您可以打印出前几个字符:
printf(".5s\n",string);
Run Code Online (Sandbox Code Playgroud)
并且使用小尺寸字符串,您可以用空格填充它:
printf("% 5s\n",string);
Run Code Online (Sandbox Code Playgroud)
有没有办法同时实现这两个目标?即如果它很短,请用0或空格填充它,如果它很长则截断它?
我需要在数字前打印一些前导空格和零,以便输出如下:
00015
22
00111
8
126
Run Code Online (Sandbox Code Playgroud)
在这里,我需要leading spaces在数字even和leading zero时间打印odd
我是这样做的:
int i, digit, width=5, x=15;
if(x%2==0) // number even
{
digit=log10(x)+1; // number of digit in the number
for(i=digit ; i<width ; i++)
printf(" ");
printf("%d\n",x);
}
else // number odd
{
digit=log10(x)+1; // number of digit in the number
for(i=digit ; i<width ; i++)
printf("0");
printf("%d\n",x);
}
Run Code Online (Sandbox Code Playgroud)
有没有捷径可以做到这一点?