coding 17

[C/C++] 정수(int)와 문자열(string) 상호 변환하기(itoa, atoi, sprintf, snprintf function examples)

안녕하세요 JollyTree(•̀ᴗ•́)و입니다. 정수와 문자열을 서로 변경하는 방법에 대해 정리하려고 합니다. 자료형 간의 변환은 코딩시 많이 사용되는 경우로 이번 자료에서는 itoa, atoi, sprintf 함수 사용 예제 위주로 설명하고 snprintf()를 사용한 응용 예제를 공유합니다. 인터넷에 함수 원형(Prototype)을 설명한 자료들은 많기에 예제위주로 설명을 하려합니다. 예제를 보고 편리한 방법을 사용하면 되겠습니다. 정수(int)와 문자열(string) 상호 변환 예제(Example) - itoa, atoi, sprintf, snprintf 함수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29..

[C/C++] 텍스트 파일로 부터 한 글자(바이트)씩 읽고, 한 줄씩 읽어서 화면에 출력하기(read one character (byte) fr

[C/C++] 텍스트 파일로 부터 한 글자(바이트)씩 읽고, 한 줄씩 읽어서 화면에 출력하기(read one character(byte) from a text file, line by line, and print it to the screen : fgetc(), fgets(), putchar() functions example) 안녕하세요 JollyTree(•̀ᴗ•́)و입니다. 파일의 내용을 읽는 방법은 여러가지가 있습니다. 그 중에서 fgetc(), fgets() 함수는 파일포인터(FILE*)를 이용하는 함수로 FILE *fp = fopen()의 fp를 파라미터를 이용합니다. 아래 예제는 파일을 오픈한 뒤 한 문자씩 읽어서 EOF 일때까지 반복하는 코드와 여러 줄로 된 텍스트 파일을 라인단위로 한 줄씩..

[C/C++] 구조체 선언과 typedef 키워드 사용하기(structure declaration & typedef keyword examples)

[C/C++] 구조체 선언과 typedef 키워드 사용하기(structure declaration & typedef keyword examples) 안녕하세요 JollyTree (•̀ᴗ•́)و 입니다. C/C++ 언어를 사용하다 보면 구조체(Struct)를 정말 많이 사용하게 되는 것 같습니다. 아래 예제는 일반적인 구조체 선언과 typedef 키워드를 이용한 구조체 선언에 대한 예제로 구조체 변수 선언, 구조체 초기화, 구조체 복사에 대한 예제를 포함하고 있습니다. typedef 키워드는 구조체 뿐만 아니라 C/C++언어에서 사용자가 자료형의 이름(별칭)을 정의할 때 사용됩니다. typedef 키워드 사용 예: typedef unsigned int UINT; //UINT 별칭 정의 typedef voi..

[C/C++] C 코드 내에서 실행시간 구하기(get elapsed time in c : clock() function example)

[C/C++] C 코드 내에서 실행시간 구하기(get elapsed time in c : clock() function example) 안녕하세요 JollyTree (•̀ᴗ•́)و 입니다. 코딩을 하다 보면 내가 짠 코드에서 실행 시간을 측정해야 할 때가 있습니다. 여러 가지 방법이 있지만, 저는 clock()함수를 주로 사용합니다. 프로그램 코드에 따라 아주 빨리 실행되어 섬세하게 실행 시간을 측정해야 할 필요가 있는데, clock()함수를 사용하면 밀리세컨(millisecond) 단위로 가능하여 저의 경우 대부분 사용이 가능했습니다. 예제(Example): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #define _..

[C/C++] 영문, 숫자, 제어문자, 공백, 대/소문자 등 판별하기(check if character is alphabetic, number, control character, space, etc: isalnum (), isalpha(), iscntrl(), isprint(), isdigit(), islower(), isupper() etc functions example)

[C/C++] 영문, 숫자, 제어문자, 공백, 대/소문자 등 판별하기(check if character is alphabetic, number, control character, space, etc: isalnum (), isalpha(), iscntrl(), isprint(), isdigit(), islower(), isupper() etc functions example) 안녕하세요 JollyTree(•̀ᴗ•́)و입니다. C 언어 라이브러리는 파일 또는 입력한 문자가 영문자, 숫자인지 또는 특수문자인지를 알아내는데 사용 가능한 여러가지 함수를 제공합니다. 아래 예제(Example)는 파일을 한 문자씩 읽으면서 해당 문자를 판별하는 예제입니다. isprint(), iscntrl()의 실 사용 예제가 궁..

[C/C++] 파일 포인터를 fseek 함수로 이해하기(fseek function example)

안녕하세요 JollyTree(•̀ᴗ•́)و입니다. fseek() 함수는 파일 입출력에서 정말 유용한 함수로 사용됩니다. 인터넷 자료를 찾아보니, "Reposition stream position indicator"라고 되어 있네요. 파일 스트림의 위치를 가리키는 일명 지시자(indicator)를 재배치 할 수 있다 정도로 저는 이해하고 있는데요. 오래 기억하기 위해 예제 코드를 작성해 보았습니다. 아래 예제는 fseek()의 3번째 파라미터인 SEEK_SET, SEEK_END, SEEK_CUR의 사용을 for 문을 예시로 보여줍니다. 예제(fseek Example): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29..

[C/C++] 코드 내 에서 Hex Editor 같이 바이너리 출력하기(Binary output like Hex Editor in code)

안녕하세요 JollyTree (•̀ᴗ•́)و 입니다. 대부분의 워드, 멀티미디어, 압축 등의 프로그램들은 동영상, 압축, 그림 등 바이너리 파일을 대부분 사용하며 코딩을 하다보면 바이너리 파일을 읽고 써야 할때가 자주 발생합니다. 010Editor, Ultra Editor, Hex Editor, Hxd 등은 바이너리 파일을 아주 보기 쉽게 16진수 Hex 코드로 보여줍니다. 그리고 사용자 설정에 맞게 16바이트, 32바이트 등으로 정렬을 해서 편의를 제공하기도 합니다. 텍스트 데이터는 디버거나 코드상에서 printf, fprintf, puts 등의 함수로 출력하여 바로 확인이 가능하지만, 내가 짠 프로그램이 제대로 바이너리 파일을 읽고 썼는지, 소켓(Socket)으로 송·수신은 제대로 되었는지 등을 코드..

[C/C++] 시간 간격 계산하기(calculate the time interval : scanf, strncpy, atoi functions

[C/C++] 시간 간격 계산하기(calculate the time interval : scanf, strncpy, atoi functions examples) 안녕하세요 JollyTree(•̀ᴗ•́)و입니다. 오늘은 입력한 두 시간 사이의 간격을 계산하는 프로그램을 작성해 보려고 합니다. 입력과 출력은 다음과 같습니다 [입력 & 출력] 첫 번째 줄에 시작 시간을 입력하고, 두 번째 줄에 종료 시간을 입력합니다. 입력은 hhmmss(175102)형태이며, 만약 175102를 입력했다면 이는 17시51분02초를 나타냅니다. 당연히 종료시간은 시작 시간보다 이후이어야 합니다. 입력 예시) 102153 211523 출력예시) 10:53:30 예제(Example): 1 2 3 4 5 6 7 8 9 10 11 1..

[C/C++] Visual Studio(VC++)에서 pthread 사용하기(POSIX Threads Programming : pthread_c

[C/C++] Visual Studio(VC++)에서 pthread 사용하기(POSIX Threads Programming : pthread_create, pthread_join functions examples) 안녕하세요 JollyTree(•̀ᴗ•́)و입니다.오늘은 pthread(POSIX Thread) 라이브러리를 사용하는 예제를 포스팅하고자 합니다. 쓰레드를 생성, 이용하는 방법은 여러가지 방법이 있는데 그 중 한가지 방법이 pthread를 이용한 방법입니다. 다음은 pthread 사용 예제로 3개의 쓰레드(Thread)를 생성입니다. 쓰레드 함수(thread_func)에서 프로세스 ID와 쓰레드 ID를 구하여 출력합니다. 예제(Example): 1234567891011121314151617181..

[C/C++] 바이너리 파일 쓰고 읽기(binary file write & read : fopen(), fwrite(), fread(), fcl

[C/C++] 바이너리 파일 쓰고 읽기(binary file write & read : fopen(), fwrite(), fread(), fclose() functions example) 안녕하세요 JollyTree (•̀ᴗ•́)و 입니다. 우리가 사용하는 대부분의 프로그램들은 HWP, PPTX, JPG, DOCX, GIF 등의 바이너리 파일을 사용합니다. 이런 파일들은 저마다의 복잡한 포맷을 가지고 있는데요. 아래 예제 코드는 단순한 바이너리 파일을 쓰고 읽는 방법에 대한 예제입니다. 바이너리 파일을 쓰는 함수인 write_file()과 바이너리 파일을 읽는 함수 read_file()로 구성되어 있으니 쉽게 보실 수 있을 것입니다. 예제(Example):123456789101112131415161718..