반응형

C프로그래밍 4

c언어 - stdout, stderr의 차이점

c언어 stdout, stderr의 차이점****리눅스 Centos6에서 실행한 c언어 코딩이므로 다를 수 있습니다**** stdout - 표준 출력 stderr - 표준 에러 둘 다 콘솔화면에 출력하기 때문에 출력부분에서는 큰 차이가 없습니다. 하지만 표준 출력과 표준에러에서 가장 큰 차이점은 버퍼링입니다. 표준 출력(stdout)은 줄 단위의 버퍼링을 하지만 표준 오류(stderr)는 버퍼링 없이 바로 출력됩니다. 즉, 표준출력은 한 줄을 완성해야하고 표준 오류의 경우 한 줄이 완성되지 않아도 출력이 가능합니다. 예를 들면 charstr1과 charstr2로 구성된 c파일에서 순서대로 출력이 됩니다. 주의 깊게 봐야할 부분은 printf문입니다. printf문의 경우 변환명세 부분의 \n(개행문자)이..

C & Docker & LINUX 2016.10.11

리눅스 C언어 (파일 목록 읽어내기)

리눅스 C언어 (파일 목록 읽어내기) 리눅스 디렉터리 구조체 struct dirent 헤더 파일 dirent.h에는 디렉터리의 구조를 구조체 dirent로 정의하고 있다. struct dirent { long d_ino; //I-노드 번호 off_t d_off; //offset unsigned short d_reclen; //파일 이름 길이 char d_name[NAME_MAX+1]; //파일 이름 } 디렉터리 파일을 읽어 내려면 단순히 파일을 열어 저장된 구조체를 하나씩 읽으면 된다. 삭제된 파일의 i-노드 번호가 0이 된다. opendir 함수는 변수 dirname에 지정된 디렉토리 스트림을 열어 처음을 가리킨다. 함수 #include DIR *opendir(const char *dirname); 반..

C & Docker & LINUX 2016.10.08

C언어 - 하노이탑

C언어 - 하노이탑 하노이 탑은 19세기말 유럽에서 유행되어 온 문제라고 합니다. 세 개의 막대가 서 있으며, 한 쪽에는 디스크가 크기순으로 쌓여있다. 이 한쪽 막대에 있는 디스크 모두를 그대로 다른 막대에 옮기는 문제입니다. 실제 문제는 64개인데 여기서는 디스크를 N개로 입력 받아 수행합니다. (64개 하나씩 움직임을 출력하면 프로그램이 안 끝납니다) 크기가 작은 디스크는 항상 큰 디스크 위에 있어야하는 규칙때문에 여러방향으로 디스크를 옮겨야합니다. 하노이탑은 재귀함수입니다. 자신이 자신을 참조하는 구조를 가지고 있습니다.

C & Docker & LINUX 2016.06.10

C언어 - 단순 연결 리스트

C언어 - 단순 연결 리스트 //단순 연결 리스트 예제 #include#include typedef struct list_node *list_pointer; // 연결리스트 구현을 위한 자기 참조 구조체struct list_node {int data;list_pointer link;}; void print_list(list_pointer ptr); //리스트를 출력하는 함수list_pointer create3(); //리스트의 노드를 만드는 함수int nodesum(list_pointer ptr); //리스트의 노드 값을 더하는 함수int nodenumber(list_pointer ptr); //리스트의 노드 숫자를 더하는 함수 void main(){list_pointer ptr;ptr = create3..

C & Docker & LINUX 2016.06.04
반응형