doSyste

#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
 
int doSystem(const char *fmt, ...)
{
	char cmd_buf[512];
	va_list pargv;

	va_start(pargv, fmt);
	vsnprintf(cmd_buf, sizeof(cmd_buf), fmt, pargv);
	va_end(pargv);

	return system(cmd_buf);
}
int main()
{
       doSystem("ls -l");
	printf("\nhello,wolrd");
	return 0;
}

  

 */
int doSystem(char_t *fmt, ...)
{
    va_list        vargs;
    char_t        *cmd = NULL;
    int            rc = 0;
    
    va_start(vargs, fmt);
    if (fmtValloc(&cmd, WEBS_BUFSIZE, fmt, vargs) >= WEBS_BUFSIZE) {
        trace(0, T("doSystem: lost data, buffer overflow\n"));
    }
    va_end(vargs);

    if (cmd) {
        trace(0, T("%s\n"), cmd);
        rc = system(cmd);
        bfree(B_L, cmd);
    }
    return rc;
}

 

posted on 2023-02-10 14:30  lydstory  阅读(16)  评论(0编辑  收藏  举报

导航