본문 바로가기

Linux

[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] ioctl 출처 : http://blog.naver.com/jmlee402/120005131921 3.1절. ioctl에 대해서 ioctl()은 입출력(Input/Oupt)장치의 제어(Contol)을 위해서 사용되는 함수로 장치에 접근해서 장치 정보를 얻어오거나 장치의 값을 변경하기 위한 용도로 사용된다. 여기에서는 네트워크 장치중 일부분의 정보를 가져오는 것만 다루고 있지만, 터미널, 소켓, cdrom, floppy, 프린터, 사운드카드.. 등 모든 입출력과 관련된 장치를 제어할 수 있다. 예를 들어 여러분이 오디오 CD를 재생하는 애플리케이션을 제작하길 원한다면 ioctl()을 이용해서 장치를 제어하고 CD에 있는 데이터를 읽어와야 한다. 다음은 ioctl()함수 선언이다. #include int ioctl(i.. 더보기
[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_.. 더보기
csv 파일(UTF-8) 엑셀에서 한글 깨질때 리눅스(UTF-8기반)에서 csv 파일을 만들어, 리눅스 상에서 볼때는 한글이 문제없이 출력되었다.그런데 윈도우로 파일을 옮겨서 볼때, 아래와 같은 문제가 발생했다. 1. 리눅스에서 만든 csv파일을 엑셀(window os)에서 열때, 한글이 깨진다.2. 메모장(window os)에서 파일을 열때는 한글이 깨지지 않는다. ㅡㅡ3. 메모장에서 저장 후(아무런 변경없이 저장만 했음) 엑셀에서 열때에는 한글이 깨지지 않는다. iconv를 이용해 UTF-8을 EUC-KR로 변경할 경우, 엑셀에서도 한글이 깨지지는 않지만, 다국어를 지원할 경우, 'EUC-KR' 부분이 마음에 걸려, 이 방법은 사용하지 않기로 결정. 이 모든 상황에 원인은 엑셀에서 UTF-8형식의 csv파일을 제대로 인식하지 못한다는 것. 해결방.. 더보기
[SQLite] 리눅스에서 sqlite연동 후 컴파일하기 자세한 함수의 사용법은 http://www.sqlite.org/ 를 참조한다. ※ 아래의 사항들은 sqlite연동시 필수로 작업해야한다. 1) 헤더파일 추가하기 #include "sqlite3.h" 2) 연결 변수 만들기 sqlite3 *db = NULL; //open한 디비의 연결 변수 sqlite3_stmt *stmt = NULL; //쿼리문 실행 시 필요한 변수 3) 연결 종료시 sqlite3_finalize(stmt); sqlite3_close(db); 1. DB Open if(sqlite3_open("파일경로/CSqliteTest.sqlite", &db) != SQLITE_OK) { printf("fail to sqlite3_open()\n"); return 0; } else { printf(".. 더보기
MakeFile 만들기 MakeFile 만들기 http://forum.falinux.com/zbxe/?document_srl=405822&mid=gcc 더보기
[Linux] vi 명령어 보호되어 있는 글입니다. 더보기
[SQLite] 리눅스에서 SQLite 설치부터 실행까지.. 1. SQLite 설치하기 http://www.sqlite.org/download.html에서 최신버전을 다운받는다. # tar xvfz sqlite파일명.tar.gz (압축풀기) # cd (압축해제된 폴더) # ./configure # make # make install * make 단계에서 "[tclsqlite.lo] 오류" 가 발생하면 configure 단계에서 "--disable-tcl" 옵션 설정하여 실행 2. SQLite 실행하기 #sqlite3 혹은 #sqlite3 sqlite파일 경로 이렇게 두가지 방법으로 실행하면 된다. [출처] 리눅스에서 SQLite(JDBC Driver) 사용하기..|작성자 수피아 더보기