Programming Storytelling

문자열 관련 함수에 대하여 본문

C언어

문자열 관련 함수에 대하여

HJdone 2019. 4. 15. 19:59

무엇이 입력이고 무엇이 출력인가......

입력장치로는 키보드가 있으며, 파일도 그 입력의 대상이 될 수 있다.

그리고 출력장치로는 모니터가 있으며 입력장치와 같이 파일도 출력장치가 될 수 있다.

##스트림에 대하여##


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