void TATTDataset::AckErrHandler(const NDataString& ErrMsg)
{
system("echo ErrMsg: %s >> err", (const char *)ErrMsg);
...... code .......
}
此错误消息是什么意思?我该如何解决? ErrMsg.toCString()也不起作用。有什么建议吗?
编辑:
我按照建议编辑了代码-
String s;
Char *tmpStr = ErrMsg.ToCString();
s.Format("echo ErrMsg: %s >> err",tmpStr);
system(s);
我仍然得到:
无法使用'const char *'初始化'char *'。
字符* tmpStr = ErrMsg.ToCString();
最佳答案
system()调用实际上只有一个参数。您要尝试做的是让system()
像printf()
一样工作,这显然不是其设计目的。
您不能尝试使用可以进行某些解析或创建临时缓冲区并使用sprintf()的字符串类。