C
문자 & 문자열 관련 함수
입력: 프로그램 안으로 데이터가 흘러 들어오는 것
출력: 프로그램 밖으로 데이터가 흘러 나가는 것
스트림(stream): 프로그램상에서 모니터와 키보드를 대상으로 데이터를 입출력 하기 위해서 이들을 연결시켜 주는 다리의 역할을 하는 매개체
운영체제: 외부장치와 프로그램과의 데이터 송수신의 도구가
되는 스트림을 제공
콘솔(키보드와 모니터) 입출력을 위한 '입력 스트림'과 '출력 스트림': 프로그램이 실행되면 자동으로 생성되고, 프로그램이 종료되면 자동으로 소멸되는 스트림
=> 표준 스트림
stdin |
표준 입력 스트림 |
키보드 대상으로 입력 |
stdout |
표준 출력 스트림 |
모니터 대상으로 출력 |
stderr |
표준 에러 스트림 |
모니터 대상으로 출력 |
<문자 출력 함수>
putchar
ex) int putchar(int c);
인자로 전달된 문자정보를 stdout으로 표현되는 표준 출력 스트림으로 전송하는 함수
fputc
ex) int fputc(int c, FILE * stream);
문자를 전송할 스트림을 지정할 수 있음.
stream을 stdout로 하면 putchar 함수와 동일한 함수가 됨
<문자 입력 함수>
getchar
ex) a=getchar();
stdin으로 표현되는 표준 입력 스트림으로부터 하나의 문자를 입력 받아서 반환하는 함수
fgetc
ex) b=fgetc(stdin);
문자를 입력받을 스트림을 지정할 수 있음
EOF(End Of File)
파일의 끝을 표현하기 위해서 정의해 놓은 상수
window = ctrl + z
Linux = ctrl + d
ex)
<문자열 출력 함수>
공백 포함 문자열도 입력 받을수o
puts
자동으로 개행
fputs
자동으로 개행 x
<문자열 입력 함수>
gets
ex)
char str[7];
gets(str);
fgets
ex)
char[7];
fgets(str, sizeof(str), stdin); //stdin으로부터 문자열 입력 받아서 str에 sizeof(str)의 길이만큼 저장
<입출력 버퍼>
버퍼 : 데이터를 임시로 모아두는(저장하는) 메모리 공간
fflush(stdout); = 출력버퍼 비우는 함수
fflush(stdin); = 입력버퍼 비우는 함수 (데이터의 소멸을 의미) //window 계열의 컴파일러
while (getchar() != '\n'); //\n이 읽혀질 때까지 입력버퍼에 저장된 문자들을 지우는 코드
<문자열 관련 함수>
strlen() = 문자열의 길이를 반환
strcpy(str2, str1) = str1의 문자열을 str2에 복사
strncpy(str2, str1, sizeof()) = sizeof 길이만큼 str2에 복사
//주의점 : 널 문자가 삽입될 공간을 남겨두고 복사를 진행
이어서 배열의 끝네 널 문자를 삽입해야함
strcat(str1, str2) = str1의 문자열 뒤에 str2를 복사
strncat(str1, str2, sizeof()) = sizeof 길이만큼 str2를 복사
strcmp(str1, str2) = 문자열 비교
s1이 더 크면 0보다 큰 값 반환
s2가 더 크면 0보다 작은 값 반환
s1과 s2의 내용이 모두 같으면 0 반환
strncmp(str1, str2, sizeof()) = sizeof만큼 문자열 비교
*그외
int atoi(str) = 문자열의 내용을 int형으로 변환
long atol(str) = 문자열의 내용을 long형으로 변환
double atof(str) = 문자열의 내용을 double형으로 변환
'언어 > C' 카테고리의 다른 글
[C] 파일 입출력 (0) | 2018.12.07 |
---|---|
[C] 구조체 (0) | 2018.12.04 |
[C] 도전프밍_3 (&난수) (0) | 2018.11.15 |
[C] 함수 포인터와 void 포인터 (0) | 2018.11.13 |
[C] 구조체 (C언어정석_9) (0) | 2018.11.12 |
댓글