2022. 4. 5. 18:49ㆍ알고리즘/알고리즘 문제 풀이(C++)
*문제
공백 문자가 포함되어 있는 문장을 입력받고 그대로 출력하는 연습을 해보자.
예시)
char data[2001];
fgets(data, 2000, stdin);
printf("%s", data);
위와 같이 실행하면 공백이 포함된 문장을 키보드(stdin)로 입력받아
최대 2000자까지 data[ ] 공간에 저장하고 출력할 수 있다.
%s 는 문자열(string, 실로 연결된 문자들. 문장)로 출력하라는 의미이다.
참고)
fgets( ) 를 사용하면 공백문자가 포함되어잇는 문장을 입력받아 저장할 수 있다.
만약, 아래처럼
scanf("%s", ... ) 를 이용해 문장을 입력받으면, 첫 번째 단어까지만 저장된다.
char data[51] = ""; //최대 50문자까지 저장 가능
scanf("%s", data);
공백이 포함되어 있는 한 문장이 입력된다.
단, 입력되는 문장은 여러 개의 단어로 구성되고, 엔터로 끝나며,
최대 길이는 2000 문자를 넘지 않는다.
---
*풀이
#include <stdio.h>
int main(){
char x[2001];
fgets(x, 2000, stdin);
printf("%s", x);
return 0;
}
▶ fgets 함수
함수원형 : char* fgets(char* str, int num, FILE* pFile);
: 함수이름인 fgets는 file + get + string? stream? 을 조합한 이름입니다.
파일에서 부터 string(=문자열)을 get 가지고 옵니다.
즉, 파일로 부터 문자열을 가지고 오는 함수입니다.
*함수설명
첫번째 인자 : 파일에서 부터 가지고 온 문자열을 넣는 변수 입니다. 문자열을 가리키는 캐릭터 타입의 포인터
두번째 인자 : 한번에 가지고올 문자열의 길이를 넣는 변수 입니다.
세번째 인자 : 파일의 파일 포인터를 집어 넣습니다.
반환형 : 가지고 온 문자열을 반환하거나, 파일의 끝에 도달했을때는 널 포인터 반환.
'알고리즘 > 알고리즘 문제 풀이(C++)' 카테고리의 다른 글
| (언어 : C++)#코드업 100제 #1024 (0) | 2022.04.07 |
|---|---|
| (언어 : C++)#코드업 100제 #1023 (0) | 2022.04.06 |
| (언어 : C++)#코드업 100제 #1021 (0) | 2022.04.05 |
| (언어 : C++)#코드업 100제 #1020 (0) | 2022.04.05 |
| (언어 : C++)#코드업 100제 #1019 (0) | 2022.04.05 |