我要为等效printf("%2.2x", var);于cerr<<在C++中.
码:
typedef unsigned char byte;
static byte var[10];
for(i=1; i<10; i++)
printf("%2.2x", var[i]);
Run Code Online (Sandbox Code Playgroud)
我的想法是将调试重定向到这样的文件:./myprog 2>out.txt.
如果我不要求太多,我也想收到解释.
谢谢!
无论如何在python中添加额外的转换类型到字符串格式?
%基于字符串格式化的标准转换类型是s字符串,d小数等等.我想要做的是添加一个新字符,我可以为其指定一个自定义处理程序(例如lambda函数)返回要插入的字符串.
例如,我想添加h一个转换类型来指定字符串应该转义以便在HTML中使用.举个例子:
#!/usr/bin/python
print "<title>%(TITLE)h</title>" % {"TITLE": "Proof that 12 < 6"}
Run Code Online (Sandbox Code Playgroud)
这将使用cgi.escape上"TITLE"生成以下的输出:
<title>Proof that 12 < 6</title>
Run Code Online (Sandbox Code Playgroud) 我正在windows visual studio中开发UDP套接字程序.我收到了sprintf语句的错误.怎么纠正呢?我的代码是:
for (i = 0; i < 30;i++) //take-off
{
printf("send AT*REF:take off\n");
sprintf(command, "AT*REF=%d,290718208\r", seq++);
rc = sendto(sd, command, strlen(command) + 1, flags, (struct sockaddr *) &droneAddr, sizeof(droneAddr));
if (rc<0) {
printf("%s: can not send data\n", argv[0]);
return(1);
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Error 1 error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
Error 1 error LNK2019: unresolved external symbol __imp__bind@12
Error 2 error LNK2019: unresolved external symbol …Run Code Online (Sandbox Code Playgroud) 如何在BASH中打印出一个数组,并在每个值和最后一个换行符之间使用字段分隔符.
我用单个printf得到的最接近的是printf '%s|' "${arr1[@]}"| 是字段分隔符.这个问题是最后没有换行符.\n我尝试放入其中的任何组合要么在每个条目上都有一个换行符,要么根本没有!
有没有办法在一条线上做或我需要使用 printf '%s|' "${arr1[@]}";printf "\n"
谢谢,
杰兰特
我正在编写一个R-package,其中包含一些运行冗长计算的C++代码.在C++代码中,我使用Rprintf()来输出信息.我尝试使用suppressMessages()来抑制R的输出,但是这不起作用,消息仍然出现在R会话中.
我发现了一些类似的问题,人们使用的是printf而不是Rprintf,但我已经在使用Rprintf了.我也尝试过R_ShowMessage(),它也会立即显示而不会被suppressMessages()抑制.
这是一些示例C++代码:
#include <R.h>
extern "C" {
void R_testprint()
{
Rprintf("Try to suppress me!\n");
R_ShowMessage("Try to suppress me, too!");
}
}
Run Code Online (Sandbox Code Playgroud)
以及调用此代码的函数:
test.print <- function(string) {
res <- .C("R_testprint")
}
Run Code Online (Sandbox Code Playgroud)
现在,以下R代码不会抑制输出:
> suppressMessages( test.print() )
Try to suppress me!
Try to suppress me, too!
Run Code Online (Sandbox Code Playgroud)
我使用的是R版本3.1.0
我感谢任何帮助!
我想知道哪个选项基本上更快.
最让我感兴趣的是重定向机制.我怀疑文件在程序开始时打开,./program > file并在最后关闭.因此,每当程序输出一些东西时,它应该只是写入文件,就像听起来一样简单.是这样吗?然后我猜两种选择在速度方面都应该具有可比性.
或者它可能是一个更复杂的过程,因为操作系统必须执行更多操作?
在printf -v网上的bash脚本示例中遇到过几次这个问题之后,以及有关stackoverflow的几个问题,我在printf联机帮助页中找不到合适的解释.
man printf或者man 3 printf不帮助我.
我在哪里寻找?
我知道函数原型在C++中是强制性的,如果函数是在main()函数之后定义的,但它在C中是可选的(但推荐).我最近编写了一个简单的程序,它执行了2个数字的加法,但错误地使用了点运算符代替传递参数时的逗号.
#include <stdio.h>
int main()
{
printf("sum is: %d",add(15.30)); // oops, uses dot instead of comma
}
int add(int a,int b)
{
return a+b;
}
Run Code Online (Sandbox Code Playgroud)
在上面的程序中,如果在add(int,int)函数之前定义了main()函数,那么程序肯定无法编译.这是因为调用函数时传递的参数少于所需的参数.
但是,为什么上面的程序编译运行正常 - 给出一些大的垃圾值作为输出?是什么原因?使用函数原型设计是否更好,以便编译器检测到类型不匹配以及与函数调用相关的任何其他错误?
这是未定义的行为吗?
我打算很快将我的应用程序发布到App Store(在TestFlight之后).我有很多视图控制器print,其中包含语句.这些print语句用于测试目的(调试器),用户永远不会看到它们.
如果我在应用程序中发布或不包含打印语句,它会有什么不同吗?
打印语句是否会在场景之间切换时降低速度,即使是毫秒?
我可以因为将它们包含在我的应用中而被拒绝吗?
在几个vcs中我打印uid只是为了清楚我自己.通过在应用程序中包含这些打印语句,是否存在任何安全风险?
我想将__int64变量转换为CString.代码就是这样
__int64 i64TotalGB;
CString totalSpace;
i64TotalGB = 150;
printf("disk space: %I64d GB\n", i64TotalGB);
totalSpace.Format(_T("%I64d", i64TotalGB));
printf("totalSpace contains: %s", totalSpace);
Run Code Online (Sandbox Code Playgroud)
第一个printf打印
"disk space: 150GB"
Run Code Online (Sandbox Code Playgroud)
它是正确的,但第二个printf打印随机高数字,如
"totalSpace contains: 298070026817519929"
我也尝试使用INT64变量而不是__int64变量,但结果是一样的.这可能是什么原因?