65,186
社区成员




char psBuffer[128];
FILE *pPipe;
if( (pPipe = _popen( "cmd", "wt" )) == NULL )
{
printf( "open the pipe failed.\n");
}
else
{
printf( "open the pipe success.\n");
char string[] = "md E:\\2014";
int numWritten = fwrite(string,sizeof(char),strlen(string),pPipe);
printf( "Wrote %d char\n", numWritten );
}
if(pPipe != NULL)
_pclose( pPipe );
for (;;)
{
bSuccess = ReadFile(g_hInputFile, chBuf, BUFSIZE, &dwRead, NULL);
if ( ! bSuccess || dwRead == 0 ) break;
bSuccess = WriteFile(g_hChildStd_IN_Wr, chBuf, dwRead, &dwWritten, NULL);
if ( ! bSuccess ) break;
}
改为
{
//bSuccess = ReadFile(g_hInputFile, chBuf, BUFSIZE, &dwRead, NULL);
//if ( ! bSuccess || dwRead == 0 ) break;
CHAR chBuf[BUFSIZE] = "md E:\\2014";
bSuccess = WriteFile(g_hChildStd_IN_Wr, chBuf, strlen(chBuf), &dwWritten, NULL);
//bSuccess = WriteFile(g_hChildStd_IN_Wr, chBuf, dwRead, &dwWritten, NULL);
//if ( ! bSuccess ) break;
}
也是没有生成2014这个目录,原来也是少加了\n,但把md E:\\2014写在file中就可以正常生成2014
这个目录,原因是在file中每行行末自动添加了\n吧?
Bokutake,谢谢你。