본문 바로가기

반응형

System Programmings/C

(20)
[C] open() #include #include #include #include #include #include int main(int argc, char **argv) { int fd; int cnt=0; char buf[100] if(argc !=2){ printf("No File\n"); return 0; } printf("Input file : %s\n", argv[1]); fd = open(argv[1], O_RDONLY); if(fd
[C] itoa 함수 리눅스에 없는 itoa 함수를 정의 void my_itoa(int n, char *st) { int count, i; count=(int)(log10(n)+1); for(i=count-1; i>=0; i--) { st[i]=(n%10)+'0'; n=n/10; } st[count]='\0'; } void strreverse(char *begin, char * end) { char aux; while(end>begin) aux=*end, *end--=*begin, *begin++=aux; } void itoa(int value, char *str, int base) { static char num[]="0123456789abcdefghijklmnopqrstuvwxyz"; char *wstr=str; int ..
[C] Cygwin에서 ssl 사용하기 먼저 ssl 설치하기 1. home 폴더에 openssl.tar.gz을 'tar zxvf 파일명' 명령어로 푼다 (ex tar zxvf openssl- 1.0.0d.tar.gz) 2. 압축 푼 폴더안에서 ./config 입력 3. make 입력 4. make test 입력 후 에러 유무 확인 5. make install End gcc -o test test.c -I/usr/local/ssl/include -L/usr/local/ssl/lib -lcrypto test는 gcc할 파일명 ---------------------------------------------------- 여담------------------------------------------ -I 옵션은 헤더 파일의 경로를 정한다. 즉, m..
[C] 난수 생성 #include #include // for srand #include // for seed int main() { srand((unsigned)time(NULL)); printf("%d\n", rand()); printf("%d\n", rand()%100); return 0; }
[C] getcputc.c - 파일 복사 및 문자열 복사 #include "apue.h" #include "apue.h" int main() { int c; while((c=getc(stdin))!=EOF) if(putc(c, stdout)==EOF) err_sys("output error"); if(ferror(stdin)) err_sys("input error"); exit(0); } /* * #include * int getc(FILE *fp); * int fgetc(FILE *fp); * int getchar(void); * * Warning : EOF & FILE *fp * * ./a.out newfile */
[C] ls.c - 현재 디렉토리의 파일 및 폴더 출력 #include "apue.h" #include int main(int argc, char *argv[]) { DIR *dp; struct dirent *dirp; if(argc!=2) err_sys("using : directory_name"); if((dp=opendir(argv[1]))==NULL) err_sys("can't open %s", argv[1]); while((dirp=readdir(dp))!=NULL){ printf("%s\n", dirp->d_name); } closedir(dp); exit(0); } /* * * struct dirent{ * ino_t d_ino; // i-node number * char d_name; // Null-terminated filename * } *..
[C] Advanced Programming In The Unix Environment - Second Edition 여러 예제에 포함될 apue.h와 error.c 파일 error.c apue.h
[C] 나눗셈의 몫과 나머지 (div(), ldiv()) div_t div(int n, int denom) ldiv_t ldiv(int n, int denom) div : int 형 나눗셈일 때 ldiv : long형 나눗셈일 때 #include #include // div()와 ldiv()를 쓰기 위해 포함시킨다. int main() { int a=10; int b=4; long c=2010201; long d=5475; div_t x; // div_t는 구조체이다. 따라서 div_t타입 x를 만들어서 div를 이용해 나눈 것을 받는 용도로 쓴다. ldiv_t y; x=div(a,b); y=ldiv(c, d); printf("%d, %d\n", x.quot, x.rem); printf("%ld, %ld\n", y.quot, y.rem); return 0; }

반응형