본문 바로가기

C

[스크랩] C언어 가변인자(가변파라미터)를 사용해보자 출처 : http://norus.tistory.com/19#comment12673780 printf의 원형을 찾아보신 분이 계실지 모르겠지만, printf의 원형을 찾아보면 다음과 같습니다. int Printf (const char* Format, ...)(실제 정의되어 있는 부분과 약간 차이가 있을 수 있습니다.) 위에 보이시는 "..." 이 부분이 가변 인자 혹은 가변 파라미터라고 불리우는 것입니다. printf를 쓸 때 느끼셨겠지만, 파라미터로 아무것도 넘겨주지 않을 수도 있고, 여러개를 넘겨줄 수도 있습니다. 가변 인자가 무엇인지 알았으니 이제 차근차근 설명해 드리도록 하겠습니다. 우선, 가변 인자 함수를 만들기 위해서는 stdarg.h 헤더가 필요합니다. 이 헤더에 가변인자함수를 만들 때 필요한.. 더보기
[Linux]C언어 Gateway 정보 가져오기 출처 : http://www.linuxquestions.org/questions/linux-networking-3/howto-find-gateway-address-through-code-397078/Gateway의 정보는 ioctl을 사용하지 않고, socket의 send(), recv()함수를 이용하여, 구할 수 있다.#include #include #include #include #include #include #include #include #define BUFSIZE 8192 struct route_info{struct in_addr dstAddr;struct in_addr srcAddr;struct in_addr gateWay;char ifName[IF_NAMESIZE];}; int readNl.. 더보기
[Linux] C작성 IP, Broadcast, Subnetmask, MAC address, NIC 가져오기 헤더파일 -- 이 중 사용하지 않는 것도 있으나, 잊어버림 #include #include #include #include #include #include #include #include #include #include #include #include #include //debug define#define DEBUG_LEVEL_3 #ifdef DEBUG_LEVEL_#define dp(n, fmt, args...)if (DEBUG_LEVEL_ sin_addr));close(sock);return 1;} Mac address 정보 가져오기int getMacAddress(char *mac){int sock;struct ifreq ifr;char mac_adr[18] = {0,};sock = socket(AF_.. 더보기
[C언어] 문자열 치환함수 출처 : http://mwultong.blogspot.com/2006/10/c-string-replace-all.html char *replaceAll(char *s, const char *olds, const char *news) {char *result, *sr;size_t i, count = 0;size_t oldlen = strlen(olds); if (oldlen < 1) return s;size_t newlen = strlen(news); if (newlen != oldlen) {for (i = 0; s[i] != '\0';) {if (memcmp(&s[i], olds, oldlen) == 0) count++, i += oldlen;else i++;}} else i = strlen(s); re.. 더보기