<stdilb.h>
unsigned long strtoul
long strtol과 동일하지만 부호가 존재하지 않는다.
<stdilb.h>
double strtod(const char * string, char **stop);
string은 지수가 포함된 문자열
stop은 변환이 되다가 멈춰진 위치
지수(e, E)를 사용
문자열을 실수 (지수)로 변환
<stdlib.h>
char * itoa(int value, char *string, int radix);
value는 변환될 숫자 값, string은 변환될 숫자가 저장될 버퍼
radix는 value값을 몇 진수로 저장할껀지?
정수를 문자열로 변환한다.
char *ltoa( );
itoa와 동일하지만 반환 값은 long형임
char *fcvt(double value, int count, int *dec, int *sign)
value는 변환될 실수 값, count는 소수점 이하 몇자리 까지 변환 할지, dec은 변환될 문자열의 몇번째가 소수점의 위치인가?
sign이 0이면 양수, 1이면 음수
->내부적인 기억공간에 별도로 저장함(문자형 포인터로 받아야 한다)
소수점과 부호가 없이 출력된다.
evct();
fvct와 동일하지만 지수를 사용
fvct와 기억하는 메모리 공간을 공유하기 때문에 같이 사용시 주의해야 한다.
char * gvct(doube value, int digits, char *buffer);
value는 지수값이 포함된 실수 값
digits는 지수를 문자열로 변환 시 몇 바이트 까지 의미있는 숫자로 변환할지?
value는 buffer에 변환되어 저장됨
<ctype.h>
int isalpha(int c);
c는 비교할 문자
알파벳 a~z, A~Z가 있는 경우 1을반환, 없을시 0을 반환
int isdigit(int c) ->숫자만 뽑아낼 때 사용
숫자(0~9)인 경우 1반환 없는 경우 0반환
int isalnum(int c)
위와 동일하지만, a~z, A~Z, 0~9 가 있는 경우 그 문자를 반환
int isupper(int c)
A~Z 대문자가 있을 시 그 문자를 반환
int islower(int c)
a~z 소문자가 있을 시 그 문자를 반환
int isspace(int c)
문자 중 공백, 탭, 개행문자를 추출가능
-> 주로 필요없는 문자 제거시 사용
<stdlib.h>
void swab(char *src, char &dest, int count);
문자를 2바이트씩 잘라서 위치를 교체할 수 있다 .
ex ) ea -> ae
src는 원본 문자열, dest는 바뀌어진 문자가 저장될 버퍼의 포인터
count는 총 바뀔 문자의 수
<string.h>
void * memcpy(void *dest, void *src, size_t count);
메모리를 복사하는 함수(널값도 복사 가능) -> 구조체 복사에 주로 사용됨
dest는 복사될 버퍼, src는 복사할 버퍼, count는 복사할 src의 크기
int memcmp(const void buf1, const void * buf2, size_t count);
buf1과 buf2는 비교할 버퍼이고, count는 비교할 버퍼의 크기이다.
strcmp와 다르게 널 값을 포함해서도 비교 가능하다.
s1 = s2 -> 0을반환
s1 < s2 -> -1을 반환
s1 > s2 -> 1을 반환
void *memmove(void *buf1, void *buf2, size_t count);
buf2가 가리키는 곳부터 count 바이트 만큼 buf1이 가리키는 곳으로 복사한다.
memcpy와 내부적으로 동일하다.
void *memset (void *dest, int fillchar, size_t count);
dest는 초기화(특정 문자가 채워질)버퍼
fillchar는 초기화할 문자( 또는 특정 문자)
count는 dest에 몇 바이트의 문자로 채울지의 크기
->구조체, 문자열, 공용체등 다른 버퍼의 값을 0으로 초기화 할 때 주로 사용
<stdio.h>
rewind(FILE *stream);
파일 포인터의 위치를 처음으로 되돌림
int fgetpos(FILE *stream, fpos_t *pos);
pos에 파일 포인터의 위치가 저장된다.
fsetpos(FILE *stream, const fpos_t *pos);
pos에 fgetpos를 사용해 현재 위치를 저장할 수 있다.
호출할 시 저장한 위치로 포인터가 이동된다.
fcloseall();
여러파일을 모두 닫을 때 사용
ferror(FILE *stream)
파일을 읽거나 쓸 때 에러가 발생하였는지 여부를 판단
에러가 있는 경우 0이 아닌 값을 반환 함
perror(const char *string)
파일 개방이 실패한 이유에 대하여 출력 메세지를 출력할 수 있다.
tmpnam(char *string);
임시 파일을 생성할 수 있는 함수
char *string은 임시로 생성된 파일의 이름이 저장될 버퍼
<io.h>
int _access(const char *pate, int mode);
path는 검사할 파일의 경로 및 이름
mode는 검색할 방법
mode의 종류
0 : 파일 및 디렉터리가 존재하는지 검사하는 경우
2 : 파일을 쓰기 위해 개방할 수 있는지 검사하는 경우
4 : 파일을 읽기 위해 개방할 수 있는지 검사하는 경우
6 : 파일을 읽거나 쓰기 위해 개방할 수 있는지 검사하는 경우
반환값이 0이 아니면 파일이 존재하지 않음.
<stdio.h>
int rename(const char *oldname, const char *newname);
oldname은 원래의 파일명, newname은 새로 변경할 파일 명
변경 성공 시 0을 반환
<io.h> <sys/stat.h>
int _chmod(const char *filename, int pmode);
filename은 파일 명, pmode는 읽기 또는 쓰기 설정 값
파일의 속성을 변경할 수 있는 함수
pmode의 종류
_S_IREAD는 읽기 전용
_S_WRITE는 일반 파일
<stdio.h>
int remove(const char *path);
path는 삭제할 파일의 경로 및 이름
저장된 경로의 해당 파일을 삭제 (단 , 읽기 전용 모드 속성의 파일은 삭제 불가)
'휴지통 > C 언어' 카테고리의 다른 글
매크로와 선행처리기(Preprocessor) (0) | 2021.02.12 |
---|---|
C언어 함수들1 (0) | 2021.02.11 |
메모리 관리와 동적할당 (0) | 2021.02.10 |
파일입출력2 (0) | 2021.02.07 |
파일 입출력1 (0) | 2021.02.06 |