✅ 목표 (Goal)

문자열 다루기는 생각보다 매우 중요하다.

C언어에서 제공하는 문자열 함수에 대해 알아보자.

문자열 관련 함수를 구현해 보자.

문자열 사용시 1차원이라 그렇게 어렵지는 않은데, 문자열의 끝은 항상 주의해야 한다.

네트워크에서 많이 사용되기 때문

최종적으로 파싱 함수를 만들기 위함, 소켓으로 문자열이 쏟아질텐데, 이를 파싱하기 위함

다운로드 및 참조

템플릿

✅ 첫번째 문자열 예제

문자열 다루기란?

char형: char, signed char, unsgiend char

첫번째 문자열 예제: Hello, char[] vs char*

✅ 문자열에 대한 이해

문자열 상수의 데이터형은 무엇일까? char*

문자열 만드는 다양한 방법

char* 문자열은 수정 불가능하다! ★★

문자열 끝의 0은 뭔가? 0, ‘\0’, ‘0’?

문자열 퀴즈

문자열 다룰때 주의할점

NULL은 좋지 않아. (Why NULL is Bad?)

인자는 가급적 const를 붙이는게 좋다.

✅ [도전] 문자열 토이 프로젝트

[도전] 길이를 알수 없는 가변 문자열 입력 받기

[도전] echobot 만들기

[도전] IP 유효성 검사

[도전] HEX to BIN: htobin()

[도전] 시저, 카이사르 암호화

[도전] strtoi(const char*) 문자열을 정수형(123)으로 변환하는 함수를 만들어보자.

[도전] 파싱 예제 짜보기

✅ [도전] 문자열 토이 프로젝트: string.h

14-2. string.h의 문자열 관련 함수

my_string.h을 만들어보자.

✅ [도전] 문자열 토이 프로젝트: string.h

파싱 개요

NMEA 프로토콜 설명

NMEA 간단 예제

strtok예제

문자열 파싱 기본

JSON으로 파싱하면 어떨까?

시리얼 파서 연습

✅ [도전] 문자열 토이 프로젝트: 파서

사용자 정의 프로토콜: 다운로드 및 참조

사용자 정의 프로토콜: 아주 간단히 온도,습도를 보내보자.

문서… 프로토콜 설계

사용자 정의 프로토콜: CTP

✅ 공용체 사용해보기

공용체의 유용함: 패킷의 바이트 파싱

공용체의 유용함: 레지스터의 비트 파싱

key_t 데이터형 만들기

✅ 빈제목

malloc을 이용한 간단한 1차원 동적 배열 만들어보기

고정 매개변수 함수 vs 가변 매개 변수 함수 (Fixed-argument function vs Variable-argument

✅ 읽을 거리

C로 영어 이외의 문자열 처리는 비추천한다.

다른 언어(C++, Java)의 문자열 관련 함수

리치형은 왜 문자열형을 만들지 않았을까?