2011-01-17 8 views
0

uintmax_t를 C의 문자열로 변환하는 방법은 무엇입니까?uintmax_t를 문자열 c로 변환하십시오.

+4

질문을 입력했을 때 방금 한 것 같습니다. 또는 ** uintmax_t ** 유형의 * value *를 언급하고 있습니까? 이 경우, 나는'sprintf (3)'또는'printf (3)'가 모두 필요하다고 믿는다. – DigitalRoss

+0

고마워. sprintf를 사용하여 – Allwyn

+0

어떻게? 주어진 uintmax_t는 기본 유형에 대한 typedef이며 특정 구현 방식에 따라 달라질 수 있으며 % i, % l, % ll 등은 기본 유형을 참조합니다. uintmax_t를 sprintf 할 수있는 방법은 무엇입니까? 차이 C 컴파일러에서 올바르게 작동합니까? –

답변

5

문자열로 변환하려면 sprintf를 사용하십시오. uintmax_t와 같은 유형의 경우 inttypes.h 헤더에 이러한 유형의 printf 변환 지정자가 포함됩니다.

#include <stdint.h> 
#include <inttypes.h> 
#include <stdio.h> 

int main(int argc,char *argv[]) 
{ 
    char str[64]; 
    uintmax_t i = 123456; 
    sprintf(str,"Value is %" PRIuMAX "\n",i); 
    puts(str); 
    return 0; 
} 
관련 문제