Coding & Programming/C, C++ 40

[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++] 단위 변환(길이, 시간, 온도, 속도, 넓이, 무게) 하기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 일상 생활에서 자주 사용하는 단위를 변환하는 예제입니다. 단위변환 대상은 길이, 온도, 시간, 부피, 속도, 넓이, 무게입니다. 프로그램 소스코드(Source Code): 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 9..

[C/C++] 배열 메모리 초기화(리셋) 및 복사(reset array & copy array)

[C/C++] 배열 메모리 초기화(리셋) 및 복사(reset array & copy array) 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 이번 포스팅은 정수형 배열, 문자형 배열, 구조체형 배열의 초기화(리셋)와 복사 방법입니다. 작성한 예제를 보면서 정리하겠습니다. 예제(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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80..

[C/C++] Visual Studio 2019 실습용 콘솔 프로젝트 생성하기(Create a console project in Visual Studio 2019)

[C/C++] Visual Studio 2019 실습용 콘솔 프로젝트 생성하기(Create a console project in Visual Studio 2019) 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و Visual Studio 2019는 윈도우용 프로그램 개발을 위한 프로젝트 생성부터 모바일, 리눅스 등 다양한 플랫폼에서 실행되는 응용 프로그램을 개발할 수 있는 개발 도구(IDE: Integrated Development Environment)입니다. 1997년 Visual Studio 97이 처음 출시되었을 정도로 오랜 역사를 가지고 있을 뿐만 아니라 C/C++, C#, Python 등 다양한 프로그래밍 언어를 지원하는 통합개발도구입니다. 마이크로소프트는 개인용 사용자에게 Visual St..

[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)으로 송·수신은 제대로 되었는지 등을 코드..