openlang

정수 배열을 C 문자열로 바꾸기

정수 배열의 원소들을 C 문자열로 바꾸려고 합니다. 제가 하고 있는 작업의 예입니다:

int digits[] = {2,4,3,0};
char text[6];
for (int pos=0; pos<4; ++pos) {
    text[pos]=digits[pos];
}
printf("%s",text);

그런데 하트나 웃는 얼굴이 나오는데 왜 그런지 모르겠습니다.

영어에서 번역원문 보기

이어지는 대화 2

서로의 근거를 따라
  1. 고유 링크

    올린 프로그램은 컴파일이 안 되므로 출력을 낼 수 없습니다.

    무엇을 하려는 건지 분명하지 않지만, 이런 예를 보세요:

    int main(void) {
        int digits[] = {2, 4, 3, 0};
        char text[sizeof(digits) / sizeof(digits[0]) + 1] = {0,};
        char pieces[sizeof(digits) / sizeof(digits[0])][12];
        for (int pos = 0; pos < 4; pos ++ ) {
            text[pos] = digits[pos] % 10 + '0';
            snprintf(pieces[pos], 12, "%d", digits[pos]);
        }
        printf("%s\n", text);
        for (int pos = 0; pos < 4; pos ++ ) {
            printf("%s\n", pieces[pos]);
        }
    }
    영어에서 번역원문 보기

같은 질문의 다른 갈래

  1. String.Format을 호출할 때 퍼센트 문자는 어떻게 이스케이프하나요?

    strings.xml 파일에 SQL 쿼리를 저장해 두고, 코드에서 String.Format으로 최종 문자열을 만들려고 해요. SELECT 쿼리에는 이런 like 절이 들어 있어요: 서식을 적용하려고 'pattern'을 %1$…

    답글 3최근 활동 java
  2. F#에서 문자열 서식 지정하기

    처음으로 F# 라이브러리를 만들고 있어요 string.Format를 사용하면 그런 함수가 없다는 오류가 나와요. 제가 잘못한 걸까요, 아니면 원래 없는 기능인가요?

    답글 2최근 활동 fsharp
  3. tcl 문자열에서 한 부분 추출하기

    tcl로 Reports/Report#2.rpt를 나눠서 Report#2.rpt만 남기려고 해요 ; 다음 방법을 시도했지만 실행해도 아무 출력이 없었어요 :

    답글 2최근 활동 tcl