2012-02-14 4 views
1

DWORD를 char *로 변환하는 방법? 나는 이런 식으로 뭔가를 시도하고

PROCESS_INFORMATION processInfo = ..... 
strcat(args, processInfo.dwProcessId); 

args 내가 다른 실행 파일에 대한 인수로 전달할 필요가 char *입니다.

+2

'DWORD '는 정수형입니다. 'char * '로 변환하는 것은 의미가 없다. –

+0

하지만이 DWORD는 CreateProcess()를 사용하여 호출 된 다른 exe에 인수로 전달해야합니다. 어떤 제안? – psp

+0

가능한 복제본 [C++ long to string] (http://stackoverflow.com/questions/947621/c-long-to-string) 또는 [C로 int를 문자열로 변환하는 방법] (http : // stackoverflow. co/questions/8257714/int-to-string-in-c로 변환하는 방법). – user7116

답변

7

.

+0

모든 가능한 옵션 중에서 이것이 최적이라고 생각합니다. – psp

+0

'DWORD'는 부호없는 정수이므로'% u'을 사용해야합니다. – user7116

+8

사실,'DWORD'는'unsigned long'이므로 형식 지정자로'% lu'을 사용해야합니다. – tomlogic

1

직접적으로 "는 char*로 변환"하지만, 트릭을해야 다음은 _ultoa을 사용할 수 있습니다 *

std::ostringstream stream; 
stream << processInfo.dwProcessId; 
std::string args = stream.str(); 

// Then, if you need a 'const char*' to pass to another Win32 
// API call, you can access the data using: 
const char * foo = args.c_str(); 
1

는 char DWORD를 변환하려면/

당신을 도울 수있는 여기를 참조 _ultoa_s. 당신은 다음에서 사용할 수있는 문자로 processInfo.dwProcessId 변환합니다 sprintf와에게

char procID[10]; 
sprintf(procID, "%d", processInfo.dwProcessId); 

이 사용할 수 link1

관련 문제