본문 바로가기

c언어22

[C/C++] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 C언어에서 readdir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 글로벌 vector에 저장한다. 이전 포스팅 중 PHP로 구현한 파일 탐색기와 동일한 기능을 수행한다. https://muabow.tistory.com/249 [PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 opendir, readdir, is_dir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 배열로 반환 muabow.tistory.com 소스코드 #inc.. 2022. 1. 7.
[C/C++] parse mp3 header/C언어 MP3 헤더 분석 함수 공유 parse mp3 header C언어 MP3 헤더 분석에 도움이 될 함수를 공유한다. 이번 코드는 C언어를 기준으로 작성하였고 main()이 없이 함수만 공유하니 상황에 맞게 사용하면 되겠다. MP3 파일 또는 스트리밍의 구성은 AAU(Audio Access Uint)의 연속으로 이루어져 있으며 각 AAU는 매직 비트, 헤더(프레임 정보), 프레임 데이터로 구성이 되어있다. 즉 MP3 파일을 재생하기 위해선 샘플 레이트, 비트레이트, 채널, MP3 코덱 정보 등 재생 정보가 필요한데 이 정보는 각각의 AAU마다 존재하는 헤더에 구성되어있단 것이다. 위의 이유로 프레임데이터를 추출하기 위해선 AAU의 정보를 추출하는 것이 매우 중요하고 아래 head parser는 그것에 도움을 줄 수 있다. 소스코드 #i.. 2022. 1. 7.
C언어 기본 정리, 입문 문서 공유 [파일 첨부] C언어 기본 정리 [ 챕터에 대한 링크 ] 1. C프로그램의 구성 2. 데이터형 / 변수 / 상수 3. 자료의 입출력 - 스트림과 자료 전송 4. 연산자 5. 제어문 6. 1차원 배열 7. 다차원 배열 8. 함수와 기억클래스 9. 포인터의 이해 10. 문자열 11. 전처리기 12. 구조체 13. 포인터 고급 14. 파일 입, 출력 15. 메모리 동적 할당 1. C프로그램의 구성 C언어는 한 개 이상의 함수로 프로그램이 작성되는데 프로그램 실행 시 가장 먼저 호출되는 함수가 main함수이다. 때문에 C프로그램은 단 한 개의 main함수가 반드시 존재해야 한다. 1.1. 프로그램의 기본구조 C언어는 대문자와 소문자를 구별하는데 일반적으로 소문자를 기초하여 작성한다. 모든 명령문은 반드시 세미콜론(;)으로 끝.. 2021. 12. 26.
[C/C++] C언어 main 함수 전/후에 함수를 실행 하는 방법 C언어 main 함수 전/후에 함수를 실행 하는 방법 10년 전쯤에 이런 질문을 받은 적이 있다. C언어에서 main 함수 전/후에 뭔가 print를 찍는다거나 함수 등을 실행하는 행위를 할 수 있냐고. 나는 안될거다고 얘기했다. C의 entry function 이 main이라 stack의 시작과 끝은 main 함수이기 때문이라 생각하기 때문이다. 근데 물어보신 분은 맞는지 틀리는지 대답을 해주지 않으셨고 어느날 불현듯 그 질문이 생각나서 찾다 보니 가능하다는 글을 보아 갈무리를 하였다. 갈무리 역시 6년 전이지만 정리하는 습관을 기르기 위해 남겨본다. 출처와 내용은 다음과 같다. http://www.geeksforgeeks.org/functions-that-are-executed-before-and-a.. 2021. 12. 21.
[C/C++] C언어 출력에 색깔 입히기 예제 C언어 출력에 색깔 입히기 - print color, ANSI color, 설명, 예제 C 언어로 개발을 하다 보면 출력이나 로그에 색깔을 써야 할 때가 있는데 간단하게 정의해 놓고 사용한다. 샘플 코드는 표와 같이 사용하면 되고, #include #define ANSI_COLOR_RED "\x1b[31m" #define ANSI_COLOR_GREEN "\x1b[32m" #define ANSI_COLOR_YELLOW "\x1b[33m" #define ANSI_COLOR_BLUE "\x1b[34m" #define ANSI_COLOR_MAGENTA "\x1b[35m" #define ANSI_COLOR_CYAN "\x1b[36m" #define ANSI_COLOR_RESET "\x1b[0m" int main(.. 2015. 12. 16.
[C/C++] 음수에서 양수로 변환 예제 음수에서 양수로 변환 - 음수 -> 양수 변환 예제 1. 비트 반전 int a = -10; a = ~a + 1; printf(%d\n", a); 2. 음수 곱하기 int a = -10; a *= -1; printf("%d\n", a); 3. 변수 부호 int a = -10; printf("%d\n", -a); 2014. 12. 19.