
개발 기록/C Language
[C언어] gets fgets / 쉽게 이해하는 문자열 입력 함수
gets()와 fgets() 함수는 말 그대로 문자열을 입력받는 함수이다. "입력받을 땐 scanf 함수를 쓰면 되지, 왜 굳이 저 함수를 쓰는 것일까?" scanf( ) 를 이용해 문장을 입력받으면, 첫 번째 단어까지만 저장되지만 gets( )와 fgets( ) 를 사용하면 공백문자가 포함되어있는 문장을 입력받아 저장할 수 있다. 무슨 뜻이나면, Hello World!를 scanf로 입력받으면 사실상 Hello 까지만 입력된다. 하지만 gets와 fgets는 Hello World! 문장이 전체 입력된다. "위 두 함수의 차이는 무엇일까?" gets()를 쓰면 확실히 문장 구성은 간단하지만, 마련해놓은 배열의 길이를 넘어서면 할당 받지 않은 메모리 공간을 침범할 수도 있다. 그래서 가급적이면 ..