Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

ADONE 코딩하기

[C언어] 코드 분석 중 발견한 함수들 본문

C언어

[C언어] 코드 분석 중 발견한 함수들

피곤하신분 2023. 3. 1. 16:05

1. 알고 있었지만 잊고 있었던 지식

if 조건문에서 조건식을 참과 거짓으로 나누는 기준은 0 또는 0이 아닌 것으로 판단하는 것

if(0) ==> 거짓

if(1) ==> 참

if(2) ==> 참

if(1001) ==> 참

 

0뿐만 아니라 NULL값이 들어오면 거짓으로 판단한다.

if(NULL) ==> 거짓

if(not null value) ==> 참

 


2. fopen()

FILE *fopen(const char* fileName(Path), const char* fileMode)

 

첫번째 매개변수로 받은 파일을 가르키는 포인터를 반환하는 함수이다. (실패시 NULL반환)

두번째 매개변수로 r(read), w(write), a(append) 모드로 실행시킬 수 있고, r+ w+ a+ 처럼 +를 붙여서 읽기 쓰기 모두 가능하게 만들 수 있다. 

또, rt wt at 처럼 t를 붙이면 text모드로 실행시키고 이것은 t를 붙이지 않는 실행과 같다. 마지막으로 rb wb ab처럼 b를 붙여 바이너리 모드로 실행시킬 수도 있다. 

 

추가로 fclose() 함수는

int fclose(FILE* filePointer) 형식으로 fopen()함수로 받은 FILE* 변수를 매개변수로 받아 파일을 닫는다. 

 

int 반환형으로 정상종료시 0, 에러시 -1(EOF)를 반환한다. 

 


3. 작업경로 설정

system("pwd") 명령 사용시 현재 작업중에 있는 파일 경로를 출력할 수 있다.

결과 : /home/user1

 

작업경로를 변경하고 싶다면 

#include <unistd.h>

char *path = "/home/user1/dir2";

chdir(path);

unistd.h 헤더파일에 있는 chdir(char *) 함수를 사용해서 변경할 수 있다. 매개변수로 char 포인터가 와야한다.

 


https://12bme.tistory.com/215

 

[시스템프로그래밍] 파일과 디렉토리

유닉스에서 파일은 일반 파일과 특수 파일 그리고 디렉토리로 구분할 수 있습니다. 일반 파일은 텍스트 파일, 실행 파일 등 텍스트나 바이너리 형태의 데이터를 저장하고 있는 파일입니다. 유닉

12bme.tistory.com

c 코드에서 시스템에 있는 파일, 디렉토리에 접근할 때 사용하는 함수들 정리한 것

stat구조체가 포함된 <sys/stat.h> 에 다양한 함수가 정리되어있다.

 

특히, 주로 사용하는 stat(char *path, struct stat *buf)는 path의 파일정보를 buf포인터 구조체의 내용에 삽입하는 역할을한다.

 


https://badayak.com/entry/C%EC%96%B8%EC%96%B4-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EC%95%88%EC%97%90-%EC%9E%88%EB%8A%94-%ED%95%AD%EB%AA%A9-%EA%B5%AC%ED%95%98%EA%B8%B0-%ED%95%A8%EC%88%98-readdir

 

C언어 디렉토리 안에 있는 항목 구하기 함수 readdir()

C readdir() 디렉토리 안에 있는 항목 구하기 opendir()로 열기를 한 디렉토리에 대해, 그 안에 있는 모든 파일과 디렉토리 정보를 구합니다. 헤더: dirent.h 형태: struct dirent *readdir( DIR *dir) 인수: DIR *dir o

badayak.com

 

디렉토리 내의 파일은 한 가지 파일만 있는 것이 아닐 것이다. 여러가지 파일들에 대해서 정보를 서칭해야하는 상황이라면 readdir() 함수를 사용해서 첫번째 파일부터 순차적으로 파일 정보를 확인할 수 있다.

'C언어' 카테고리의 다른 글

[C언어] #include 정보  (0) 2023.02.11
[c언어] 리눅스 make 명령  (0) 2023.02.04