본문 바로가기
Programming/C++

문자열을 입력받아 그대로 출력하는 방법 | C++

by 혀코 2020. 9. 13.

안녕하세요. 혀코입니다.

이번 시간에는 문자열을 입력받아 그대로 출력하는 방법에 대해서 알아보겠습니다.

 

문자열을 받을 때는 %s를 사용해서 받습니다.

#include <iostream>

int main() {
    char a[51];
    scanf("%s",a);
    printf("%s",a);
    return 0;
}

정수와 문자를 받을 때와는 달리 char에 받을 문자열의 개수를 지정해 주고, scanf로 데이터를 저장할때 레퍼런스기호를 붙이지 않는 것이 특징입니다.

 

빈칸을 포함한 문장을 받을 때는 fgets 함수를 사용합니다.

#include <iostream>

int main() {
    char data[2001];
    fgets(data, 2000, stdin);
    printf("%s",data);
    return 0;
}

 

다음은 실수를 받아서 정수부와 소수점 이하 부분을 나눠서 출력하는 방법입니다.

#include <iostream>

int main() {
    int data, data2;
    scanf("%d.%d",&data,&data2);
    printf("%d\n%d",data,data2);
    return 0;
}

 

다음은 단어1개를 입력받아서 한줄에 한 문자씩 따옴표 안에 출력하는 방법입니다.

#include <iostream>

int main() {
    char d[30];
    scanf("%s",d);
    for(int i = 0; d[i] != '\0'; i++) {
        printf("\'%c\'\n",d[i]);
    }
    return 0;
}

 

다음은 다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력하는 방법입니다.

#include <iostream>

int main() {
    int a, b, c, d, e;
    scanf("%1d%1d%1d%1d%1d",&a,&b,&c,&d,&e);
    printf("[%d]\n",a*10000);
    printf("[%d]\n",b*1000);
    printf("[%d]\n",c*100);
    printf("[%d]\n",d*10);
    printf("[%d]",e);
    return 0;
}

다섯 자리의 정수를 1개 받아서 각 자리별로 나눠 데이터를 입력할떄는 %1d 형식으로 받아 저장하면 됩니다.

 

 

이렇게 문자열을 입력받아 그대로 출력하는 방법에 대해서 알아봤습니다.

유용하셨다면, 공감과 구독 부탁 드립니다.

감사합니다. :)

댓글