2011-12-23 3 views
0

* * .exe를 호출하여 모든 * .exe가 호출되는 모든 전체 경로가 저장되는 메모장 파일을 호출하고 해당 메모장을 사용해야합니다. 파일 (편집 할 수 있음) 모든 자식 * .exe의 경로가있는 목록을 호출하는 부모 exe를 만들려고합니다.C++ : 동시에 두 개 이상의 * .exe를 호출하는 중

또한, 모든 * .exe의 "together"에 대한 호출을 시작해야합니다. "하나씩". 나는 순차적 인 것이 아니라 모든 exe의 동시 호출을 원한다.

미리 감사드립니다. 시스템 호출에 대해

내가이 정도 코딩을 알고 : 당신은 Windows를 대상으로하는 경우

#include<stdlib.h> 
char * command; 
sprintf_s("d:\\....path..%d.\\..%d",n,ctr); 
system(command); 
+7

좋아요! 그리고 질문은 무엇입니까? –

+0

어떤 운영 체제입니까? –

+0

필요한 모든 exe를 실행하는 C++에서 단일 스크립트 (배치/셸)를 실행합니다. – Arunmu

답변

1

, 당신은 CreateProcess를 WINAPI

을 사용할 수 있습니다 유닉스에

같은 (예를 들어 사용 here 참조) 동일한 동작을 수행하려면 fork()/exec()를 사용해야합니다.

+0

완전한 이진 트리처럼 재귀 적으로 호출해야합니다. – KB2807

+0

나는 그것을 얻지 못합니다. , 당신은 불법적으로 무엇을 의미합니까? 좀 더 구체적인 예를 들어 질문을 향상 시키십시오. – gastush

1

sprint_s (또는 다른 형식 문자열 패밀리) C++.

그러나 : 당신의 오류 중 하나는 sprintf_s에 매개 변수에 : 마이크로 소프트

int sprintf_s(
    char *buffer, 
    size_t sizeOfBuffer, 
    const char *format [, 
     argument] ... 
); 

예 :

// crt_sprintf_s.c 
// This program uses sprintf_s to format various 
// data and place them in the string named buffer. 
// 

#include <stdio.h> 

int main(void) 
{ 
    char buffer[200], s[] = "computer", c = 'l'; 
    int i = 35, j; 
    float fp = 1.7320534f; 

    // Format and print various data: 
    j = sprintf_s(buffer, 200,  " String: %s\n", s); 
    j += sprintf_s(buffer + j, 200 - j, " Character: %c\n", c); 
    j += sprintf_s(buffer + j, 200 - j, " Integer: %d\n", i); 
    j += sprintf_s(buffer + j, 200 - j, " Real:  %f\n", fp); 

    printf_s("Output:\n%s\ncharacter count = %d\n", buffer, j); 
} 

는 또한이 마이크로 소프트의 확장 있습니다. 동일한 프로그램을 다른 컴파일러로 컴파일하면 실패 할 수 있습니다.

훨씬 더 심각한 주에
std::stringstream ss; 
ss << "d:/foobar.exe " << arg1 << ' ' << arg2; 
const std::string command = ss.str(); 

이 : 좋은 입문 C++ 책을 가져 와서 당신이 C++이있을 때 프로그램 C를하지 않는

하지만 심각, 모든 사람들을 사용하지 않는, 단지 할 당신의 창고.

+0

+1 for C++ 서적 제안 –

관련 문제