C언어 54

[C언어] sscanf 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 scanf 함수와 동일하지만 표준 입력(stdin)이 아닌 string 버퍼로부터 데이터를 받아서 저장한다. 헤더 #include ※ sscanf 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 int sscanf(const char* buffer, const char* format, ...); 파라미터 const char* buffer sscanf 함수가 입력받을 데이터의 문자열 (string) 버퍼를 입력한다. const char* format 문자열 (string) 형태로 sscanf 함수를 통해 입력받을 데이터의 서식을 입력한다. 서식 지정자 참..

C언어/stdio.h 2022.08.09
[C언어] 서식 지정자의 모든것 (서식문자)

서식 지정자 ? printf, scanf, sprintf, fprintf 등의 여러 API 에서 가변인자를 받아서 처리하기 위한 데이터 포맷이다. 가변인자를 처리하는 API 함수 내부에서 어떤 인자를 어떤식으로 처리할지 지정하기 위해서 사용한다. 잡학사전 여러 API 에서 가변인자를 서식 지정자를 통해 처리하는데 printf 와 scanf 만 비교해봐도 서식 지정자로 특정할 수 있는 자료형의 스펙이 조금씩 다르다. printf 는 타입을 전달받아 데이터를 출력하기 때문에 형변환(type casting) 및 형승격(type promotion) 을 통해 크기가 다른 타입에 대해서 유연한 메모리 처리가 가능하지만, scanf 는 포인터를 전달받아 입력받은 데이터를 저장하기 때문에 서식 지정자에 의존하여 메모리..

[C언어] fprintf 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 format 으로 지정된 데이터를 file 에 기록한다. 헤더 #include ※ 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 int fprintf(FILE* file, const char* format, ...); 파라미터 FILE* file fopen 함수를 통해 얻은 FILE의 포인터를 입력한다. const char *format file 에 저장할 데이터에 대한 서식을 입력한다. 서식 지정자 참고 ... C언어의 가변인자로 입력되는 파라미터의 개수를 동적일때 사용한다. format에 들어가는 서식 문자 내용에 맞춰서 파라미터를 입력해야한다. ..

C언어/stdio.h 2022.08.07
[C언어] sprintf 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 format 으로 지정된 데이터를 string 형태로 변환하여 buffer 에 저장한다. 헤더 #include ※ sprintf 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 int sprintf(char *str, const char* format, ...); 파라미터 char* str format 을 통해 string 으로 변환된 문자열이 저장될 버퍼를 입력한다. const char *format 문자열 (string) 형태로 str에 저장할 string 문자의 서식을 입력한다. 서식 지정자 참고 ... C언어의 가변인자로 입력되는 파라미터의 개수..

C언어/stdio.h 2022.08.07
[C언어] int 와 long 은 무엇이 다를까? (short, short int, int, long int, long, long long)

역사 컴퓨터는 지금의 32bit 64bit 가 아닌 8bit 16bit 가 주도했던 시절이 있었다. 당연하겠지만 64bit 가 아니라 32bit 도 처리할 수 없는 컴퓨터가 많았던 시절이었다. 당시에(아직까지도) CPU 시장을 주도했던 인텔의 CPU 프로세서 80286(16bit) 의 출시가 1982년 , 80386(32bit) 의 출시가 1985년인걸 감안하면 C언어가 개발되고 32bit가 훨씬 나중에 나온것을 알 수 있다. C언어가 1972년에 출시된 언어인걸 생각해보면 당시 32bit는 이론상으로 존재했던 아키텍처였던 것이다. (지금은 64bit) C89 표준이 작성되던 시점에는 이미 x86이 개발되어있었지만 16bit가 여전히 대중적인(?) 아키텍처였다. 참고로 최초의 64bit CPU인 인텔의 ..

[C언어] fflush 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 출력 stream 버퍼를 비워준다. (입력 X) 헤더 #include ※ fflush 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 int fflush(FILE* file); 파라미터 FILE* file fopen 함수를 통해 얻은 FILE의 포인터를 입력한다. fopen의 read mode 로 생성된 file stream에서는 사용하지 않는다. 반환값 성공시 0을 반환한다. 실패시 EOF(-1) 을 반환한다. 잡학지식 fflush 는 개발자 자신도 모르는 사이에 여러번 사용했던 API이다. fwrtie, fputs 처럼 file에 데이터를 기록하고 ..

C언어/stdio.h 2022.08.04
[C언어] fwrite 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 배열의 데이터를 FILE에 기록한다. 헤더 #include ※ fwrite 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 size_t fwrite(const void* ptr, size_t size, size_t count, FILE *file); 파라미터 const void* ptr FILE* 에 기록할 데이터가 저장된 배열(버퍼)을 입력한다. size_t size ptr 에 저장할 배열의 원소 하나의 크기를 입력한다. (ex: char a[3] : sizeof(char), struct str_t[3] : sizeof(struct str_t)) si..

C언어/stdio.h 2022.08.04
[C언어] fread 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 FILE 로부터 데이터를 읽어서 배열로 저장한다. 헤더 #include ※ fread 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 size_t fread(void* ptr, size_t size, size_t count, FILE *file); 파라미터 void* ptr FILE* 로부터 읽은 데이터를 저장할 배열(버퍼)을 입력한다. size_t size ptr 에 저장할 배열의 원소 하나의 크기를 입력한다. (ex: char a[3] : sizeof(char), struct str_t[3] : sizeof(struct str_t)) size_t c..

C언어/stdio.h 2022.08.03
[C언어] fclose 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 file stream을 닫기 위해 사용한다. 헤더 #include ※ fclose 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 int fclose(FILE* stream); 파라미터 FILE* stream fopen 함수를 통해 열린 file stream을 입력한다. 반환값 성공시 0 을 반환한다. 실패시 EOF (-1) 을 반환한다. #include #define MAX_BUF_SIZE 128 int main() { FILE* fp; int ret; char buffer[MAX_BUF_SIZE] = "Hello fclose"; fp = fopen(..

C언어/stdio.h 2022.08.02
[C언어] fopen 함수 (stdio.h)

사용범위 Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수 기능 C언어 표준 함수로 FILE 을 생성 또는 편집을 하기위해 사용한다. 헤더 #include ※ fopen 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※ 함수 FILE* fopen(const char *filename, const char *mode); 파라미터 const char* filename 생성 또는 접근할 파일의 이름과 경로를 입력한다. 파일의 이름만 입력시 상대경로로 접근한다. const char *mode 첫번째 파라미터인 filename 에 접근할 방식을 입력한다. 절대경로 ? 상대경로 ? 절대경로 절대경로란 파일의 위치를 가장 정확하게 나타내는 주소이며, 해당..

C언어/stdio.h 2022.08.01
반응형