본문 바로가기
C 언어

C 언어에서 한 줄 읽어 들이기

by treeCoder 2020. 12. 14.

C 언어에서 한 줄의 문자열릏 읽어 들이고 싶은 때가 있다.

 

gnu 컴파일러를 사용한다면, getline을 사용할 수도 있다.

scanf 함수를 이용할 수도 있으나, fgets를 사용하는 것이 가장 좋을 것 같다는 개인적인 생각이다.

fgets 함수는 사용자가 입력한 엔터키 까지 읽어들이기 때문에, 맨 마지막의 '\n' 문자를 제거해 주어야 한다.

이방법 또한 몇가지가 있다. strcspn을 이용한다든지, strchr을 이용한다든지 또는 strlen을 이용하는 방법도 있다.

 

여기서는 sscanf를 이용하는 방법을 소개하고자 한다.

 


#include <stdio.h>
//#include <string.h>

int main() {
    char s[80];

    puts("Enter your addres, for example 'New York'");
    fgets(s, sizeof(s), stdin);
    sscanf(s, "%[^\n]s", s); //s[strcspn(s, "\n")]='\0';
    
    printf("\nYou seem to live in %s.", s);
    
    return 0;
}


실행 결과는 아래의 그림과 같다.

'C 언어' 카테고리의 다른 글

C언어를 이용하여 무작위로 사람 이름 만들기  (0) 2020.12.18
C 언어 Rand 함수를 이용해서 무작위 암호 만들기  (0) 2020.12.16
C strtok 함수  (1) 2020.11.19
C 키워드  (0) 2020.11.11
C 언어 코딩 헥사문자 들  (1) 2020.11.10

댓글