tags:

views:

62

answers:

3

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);
/* Return 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?

+4  A: 

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);
nos
+2  A: 

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

Ignacio Vazquez-Abrams
+2  A: 

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

Chris