All Pages
배열 재배열
배열 재배열
2025.07.151. 배열 재배열 예제 - 마지막 요소로 덮어쓰는 방식(O(1))더보기#include #include #define MAX_SOCK 10 // [1] 최대 소켓 수 (클라이언트 수 제한)// [2] 소켓 번호 배열과 현재 접속자 수 변수int clnt_socks[MAX_SOCK];int num_user = 0;// [3] 클라이언트 소켓 번호 추가 함수void AddClient(int sock) { if (num_user >= MAX_SOCK) { printf("[오류] 최대 인원 초과! 추가 불가\n"); return; } clnt_socks[num_user++] = sock; printf("[추가] 소켓 %d 추가됨. 현재 인원: %d명\n", sock..
mysql_fetch_row(res)
mysql_fetch_row(res)
2025.07.11공식문서 링크 1. mysql_fetch_row( ) 더보기함수 원형MYSQL_ROW mysql_fetch_row(MYSQL_RES *result); 동작SELECT 실행 결과 집합(MYSQL_RES *, 2차원 테이블 형태의 데이터 집합)에서 한 행(row)에 해당하는 정보를 읽고, 한 행(row)에 포함된, 개별 필드 값을 문자열(char) 형태로 반환 한 행(row)씩 반복해서 읽고, 더 이상 읽을 행이 없으면 NULL 반환 자료형/반환값매개변수 (MYSQL_RES * result) : SELECT 실행 결과 집합(MYSQL_RES *, 2차원 테이블 형태의 데이터 집합)을 참조하는 포인터mysql_store_result() 또는 mysql_use_result()로 얻음반환값 (MYSQL_RO..
mysql_store_result(conn);
mysql_store_result(conn);
2025.07.11공식문서 링크 1. mysql_store_result( )더보기함수 원형MYSQL_RES *mysql_store_result(MYSQL *mysql); 동작mysql_query로 실행한 SELECT 실행 결과 집합(MYSQL_RES *, 2차원 테이블 형태의 데이터 집합) 받아옵니다.결과 집합을 메모리로 복사하여, MYSQL_RES *로 참조합니다. 나중에 반복문으로 읽을 수 있게 만듭니다. 반드시 사용 후 mysql_free_result()로 해제해야 메모리 누수가 없습니다. 자료형/반환값 MYSQL * mysql :데이터베이스 연결을 나타내는 구조체 포인터반환값 (MYSQL_RES *) :성공 시 : SELECT 실행 결과 집합 을 가리키는 포인터 (MYSQL_RES *)실패 시 : NULL (..
mysql_query(conn, query);
mysql_query(conn, query);
2025.07.11공식문서 링크 1. mysql_query( )더보기 mysql_query( ) 함수 원형int mysql_query(MYSQL *conn, const char *query); 매개변수MYSQL *connMySQL 서버에 접속된 연결 객체(핸들) 포인터보통 mysql_init → mysql_real_connect로 만들어진 값const char *query실행할 SQL 쿼리문"SELECT ...", "INSERT ...", "UPDATE ...", "DELETE ..." 등 mysql_query 동작MySQL 서버에 쿼리(SQL문)를 보내는 함수입니다.쿼리 실행 결과는 서버에 저장됩니다(아직 결과를 받는 단계가 아님) 반환값:0: 성공0이 아닌 값: 실패 (에러 발생)실패 시, mysql_error..
snprintf( )
snprintf( )
2025.07.111. snprintf( )더보기1. snprintf 어원: string + n + printf = 문자열(string)에 최대 n글자까지 포맷 출력(print formatted) snprintf는 문자열 버퍼 크기를 지정해서버퍼에 "안전하게" 포맷팅해서 저장하여오버플로우 위험을 막기 위해 등장했습니다. 2. 함수 원형int snprintf(char *str, size_t size, const char *format, ...); str: 출력될 문자열을 저장할 버퍼(배열)size: 버퍼의 전체 크기(바이트 단위, 널문자 포함)format: 출력 형식(printf 스타일)...: 추가 인자(가변 인자) 2. 기본 사용 예시더보기#include int main() { char buffer[50]; ..
7. C언어 & DELETE
7. C언어 & DELETE
2025.07.111. MySQL 사용자·데이터베이스 준비더보기-- [테이블 생성: 회원 정보 저장]CREATE TABLE Members ( code INT PRIMARY KEY AUTO_INCREMENT, -- 고유 번호 id VARCHAR(12) NOT NULL, -- 사용자 ID pw VARCHAR(18) NOT NULL, -- 비밀번호 fname VARCHAR(50) NOT NULL, -- 이름 lname VARCHAR(50) NOT NULL, -- 성 ph VARCHAR(20), ..
6. C언어 & UPDATE
6. C언어 & UPDATE
2025.07.111. MySQL 사용자·데이터베이스 준비더보기-- [테이블 생성: 회원 정보 저장]CREATE TABLE Members ( code INT PRIMARY KEY AUTO_INCREMENT, -- 고유 번호 id VARCHAR(12) NOT NULL, -- 사용자 ID pw VARCHAR(18) NOT NULL, -- 비밀번호 fname VARCHAR(50) NOT NULL, -- 이름 lname VARCHAR(50) NOT NULL, -- 성 ph VARCHAR(20), ..
5. C언어 & SELECT
5. C언어 & SELECT
2025.07.111. MySQL 사용자·데이터베이스 준비더보기-- [테이블 생성: 회원 정보 저장]CREATE TABLE Members ( code INT PRIMARY KEY AUTO_INCREMENT, -- 고유 번호 id VARCHAR(12) NOT NULL, -- 사용자 ID pw VARCHAR(18) NOT NULL, -- 비밀번호 fname VARCHAR(50) NOT NULL, -- 이름 lname VARCHAR(50) NOT NULL, -- 성 ph VARCHAR(20), ..
4. C언어 & INSERT
4. C언어 & INSERT
2025.07.091. MySQL 사용자·데이터베이스 준비더보기-- [테이블 생성: 회원 정보 저장]CREATE TABLE Members ( code INT PRIMARY KEY AUTO_INCREMENT, -- 고유 번호 id VARCHAR(12) NOT NULL, -- 사용자 ID pw VARCHAR(18) NOT NULL, -- 비밀번호 fname VARCHAR(50) NOT NULL, -- 이름 lname VARCHAR(50) NOT NULL, -- 성 ph VARCHAR(20), ..
3. C언어 & MySQL 컴파일 테스트
3. C언어 & MySQL 컴파일 테스트
2025.07.091. mysql.h 라이브러리 다운로드더보기mysql.h 없을시 다운sudo apt update;sudo apt install libmysqlclient-dev build-essential -y; libmysqlclient-devC 애플리케이션에서 MySQL C API를 사용하기 위한 헤더·라이브러리 패키지입니다.build-essentialGCC 등 빌드 도구 모음입니다. mysql.h 설치된 헤더 위치 찾는 명령어mysql_config --cflags 2. mysql.h 라이브러리 살펴보기더보기 1. mysql.h 포함된 C 소스코드 예시#include #include // #include "/usr/include/mysql/mysql.h" void main(){ printf("MySQL client..
2. MySQL 환경설정
2. MySQL 환경설정
2025.07.091. MySQL WorkBench 폰트 변경더보기01. D2Coding 폰트 설치 우분투 초기세팅5 - 폰트mkdir ~/.local/share/fonts;cd ~/.local/share/fonts;wget https://github.com/naver/d2codingfont/releases/download/VER1.3.2/D2Coding-Ver1.3.2-20180524.zip;unzip D2Coding-Ver1.3.2-20180524.zip; 설치 중, 대문자 'A' 입력 터미널 폰트 설정더보기basiclike.tistory.com 02. MySQL WorkBench 폰트 설정 2. "이것이 MySQL이다" 샘플DB employee 추가하기더보기1. 예제 다운받을 폴더로 이동하고, 터미널 실행(or..
1. MySQL, Workbench 설치
1. MySQL, Workbench 설치
2025.07.040. mysql 삭제:문제가 발생하면, 재설치 or 환경설정 연습시 반복 실행더보기# 실행중인 mysql 프로세스 정지sudo service mysql stop && sudo systemctl stop mysql # mysql 키워드가 포함된 패키지 찾기dpkg -l | grep mysql # purge 명령어로 완전 삭제sudo apt-get remove --purge mysql* -y && sudo apt autoremove -y # 삭제 후, mysql 관련 패키지 남아있는지 확인 dpkg -l | grep mysql # 확인 후, 삭제되지 않은 mysql 관련 파일 삭제sudo apt-get remove --purge [파일명]# 그 밖의 모든 것들 청소sudo rm -rf /etc/mysql /..