开发者

printf is not giving output when using system

I have following code(part of code):

snprintf(
    command,
    sizeof(command),
    "%s -o %s -n \"%s\" -st %s -et %s -a \"%s\"",
    _pcOPMTRExePath,
    _pcTempFile,
    l_acHostName,
    _pcStartTime,
    _pcEndTime,
    l_acMessage
);
printf("%s",command);
l_iRetValue = system(command);
/* Retu开发者_StackOverflow中文版rn an error if failed to copy*/
if(l_iRetValue!=0)
{
    printf("18");
    return INTERNAL_ERROR;
}

The issue is system command is working fine. But my printf is not giving the command value. Is this the issue of memory overflow or like that?


It might just be that stdout isn't getting flushed - often stdout is linebuffered when connected to a console. Try either

printf("%s\n",command);

or

printf("%s",command);
fflush(stdout);


It's possible that it's just stdout not getting flushed after the printf. Try adding fflush(stdout) after the printf.


Probably buffering. Try putting a \n at the end of the format string.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜