일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 친구함수
- freiend선언
- 생성자호출
- 테이블
- 웹개발
- C++
- 연산자재정의
- jQuery
- 객체지향프로그래밍
- 함수표현식
- 코딩
- friend함수
- 함수중복
- 데이터베이스
- this객체
- freiend클래스
- 제네릭 함수
- 프로그래밍
- 자바스크립트
- JS
- 랜덤출력
- SQL
- C언어
- call by referance
- time()
- HTML
- react
- new연산자
- 자바스크립트라이브러리
- 멤버접근허용
- Today
- Total
Programming Storytelling
문자열 관련 함수에 대하여 본문
무엇이 입력이고 무엇이 출력인가......
입력장치로는 키보드가 있으며, 파일도 그 입력의 대상이 될 수 있다.
그리고 출력장치로는 모니터가 있으며 입력장치와 같이 파일도 출력장치가 될 수 있다.
##스트림에 대하여##
stdin 표준 입력 스트림
stdout 표준 출력 스트림
stderr 표준 에러 스트림
##문자 출력 함수인 putchar함수와 fputc함수##
★함수호출 성공시 쓰여진 문자정보가,실패시 EOF를 반환한다.★
#include <stdio.h> int putchar(int c); imt fputc(int c,FILE * stream);
putchar함수:인자로 전달된 문자정보를 stdout으로 표현되는 표준 출력 스트림으로 전송하는 함수이다.
(인자로 전달된 문자를 모니터로 출력한다.)
fputc함수:문자를 전송할 스트림을 지정할 수 있다.
+두번째 인자로 stdout 을 전송한다면 putchar함수와 같은 함수가 된다.
##문자 입력 함수인 getchar함수와 fgetc함수##
★파일의 끝에 도달하거나 함수호출 실패 시 EOF를 반환한다.★
#include(stdio.h) int getchar(void); int fgetc(FILE * stream);
##EOF란 무엇일까?##
"End Of File의 약자로서,파일의 끝을 표현하기 위해서 정의해 놓은 것이다.파일의 끝에 도달하면 더이상 읽을 내용이 없다."
##문자열 단위 입출력 함수에 대하여##
1. puts()와 fputs()
★성공 시 음수가 아닌 값을, 실패 시 EOF를 반환한다.★
#include<stdio.h> int puts(const char *s); int fputs(const char * s, FILE * stream);
두 함수의 차이점에 대해 알아보도록 하자.
puts함수는 출력의 대상이 stdout으로 결정되어 있지만, fputs함수는 두 번째 인자를 통해서 출력의 대상을 결정
할 수 있다. 그리고
puts함수는 호출되면 문자열 출력 후 자동으로 개행이 이뤄지지만, fputs함수가 호출되면 문자열 출력 후 자동으로 개행이 이뤄지지 않는다.
2.gets()와 fgets()
★파일의 끝에 도달하거나 함수호출 실패시 NULL포인터를 반환한다.★
#include<stdio.h> char *gets(cahr * s); char *fgets(char * s,int n, FILE *stream);
fgets()는 \n을 만날 때까지 문자열을 읽어 들이는데, \n 을 제외시키거나 버리지 않고 문자열의 일부로 받아들인다.
##버퍼링을 하는 이유란 무엇일까?##
"데이터전송의 효율성과 관련이 있기 때문이다. 과수원꾼이 사과를 수확하고 바구니에 담아 한까번에 들고 가는것과 같은 원리라고 볼수 있다."
##출력버터를 비워주는 fflush()##
★함수호출 성공시 0,실패 시 EOF를 반환한다.★
#include<stdio.h> int fflush(FILE * stream);
##문자열의 길이를 반환하는 함수 strlen()##
★전달된 문자열의 길이를 반환하되,널 문자는 길이에 포함하지 않는다.★
#include<stdio.h> size_t strlen(const char * s);
##문자열을 복사하는 함수 strcpy(),strncpy()##
★복사된 문자열의 주소 값 반환★
#include<string.h> char * strcpy(char *dest,const char *src); char * strncpy(char * dest,const char * src,size_t n);
##문자열을 덧붙이는 함수 strcat(),strncat()##
★덧붙여진 문자열의 주소 값 반환★
#include<stdio.h> char * strcat(char * dest,const char *src); char * strncat(char * dest,const char *src,size_n);
##문자열을 비교하는 함수 strcmp(),strncmp()##
★두 문자열의 내용이 같으면 0, 같지 않으면 0이 아닌 값 반환★
#include<string.h> int strcmp(const char *s1, const char *s2); int strncmp(const char * s1,const char *s2, size_t n);
##그 외의 변환 함수들##
1.int atoi(const char *str);
2.long atol(const char * str);
3.double atof(const char * str);
'C언어' 카테고리의 다른 글
다중 입출력 방식 select()/poll() (0) | 2019.04.18 |
---|---|
c 표준정의와 관련 에러 설명 (0) | 2019.04.17 |
지역변수와 전역변수 알아보기 (0) | 2019.04.15 |