开发者

printf is not giving output when using system

开发者 https://www.devze.com 2022-12-21 07:49 出处:网络
I have following code(part of code): snprintf( command, sizeof(command), \"%s -o %s -n \\\"%s\\\" -st %s -et %s -a \\\"%s\\\"\",

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

精彩评论

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