본문 바로가기

별걸다하는 IT/프로그래밍언어

(55)
[C/C++언어]sprintf 함수와 fprintf 함수 사용법, 원하는 출력을 다양한 서식으로 구성하고 문자열이나 파일로 저장하기. stdio.h 라이브러리 [C/C++ 프로그래밍 강좌 목차] 안녕하세요 주인장 양햄찌입니다. 오늘은 마치 생긴건 기본적인 printf 랑 비슷하게 생긴, 정말정말 유용하게 많이 쓰이는 printf 친척쯤 되는 sprintf와 fprintf 함수를 들고 왔어요. printf는 서식지정이 가능한 출력 함수죠?! 얘네들은 printf의 서식표현 방법을 기본적으로 따라가기 때문에 printf를 사용하실 줄 알아야 합니다. %d, %s, %c, %e, %f 등의 서식연사자들,, 그리고 0, #, + 등의 플래그들.. 혹 해당 함수의 다양한 사용법을 다시 확인하고 싶은 방문자들은 아래 포스팅을 참고 바라요. jhnyang.tistory.com/159 [C, Java] Hello World 출력, printf 출력 함수 서식과 포맷, 소수점..
[C언어, 자바] 운영체제에 따른 Sleep, sleep, usleep 함수 (리눅스/유닉스와 윈도우), 특정시간 지연시키기 [C /C++ 완전정복 목차] 안녕하세요. 오늘은 아주 간단한 포스팅이 될거예요 ㅎㅎ 워낙 많이 쓰는 sleep 함수에 대해 알아볼겁니다. 참고로 sleep은 지정한 시간동안 대기하는 '타임딜레이 함수'예요. 이렇게 지연시키는 함수는 타임아웃 테스트나 세션 테스트 등 여러 상황에서 활용되죠 :) [C/C++언어] sleep() / Sleep() 함수 지정한 시간 만큼 대기합니다. sleep에는 첫 글자가 대문자로 시작하는 Sleep함수가 있고 소문자로 시작하는 sleep함수 두 가지가 있는데요. 윈도우에서 지원하는 대기함수는 Sleep으로 단위가 마이크로초(ms)이고, 리눅스/유닉스에서 지원하는 대기 함수는 sleep으로 단위가 초(second)입니다. 윈도우의 경우 헤더파일은 , 리눅스유닉스의 경우 헤..
[C언어] 현재 날짜/시간 구하기 localtime , time 함수 사용법, 실행시간측정, 년월일시분초 출력하기 [C/C++ 완전정복 목차 링크] 안녕하세요 블로그 주인장 양햄찌입니다. 오늘은 정말정말 많이 사용되는 날짜 및 시간 표현법을 알아봅시다. 들어가기 전 서론 이 함수는 언제 유용할까요? 프로그램이 실행된 날짜를 찍거나... 특정 함수가 수행된 시간을 찍거나... 로그에 날짜/시간을 남긴다던가.. 실행시간을 측정한다던가.. 시분초+랜덤+pid 등 여러 가지를 조합해 unique값을 생성한다던가.. 일일이 설명하지 않아도 될정도로 필요한 상황은 무지무지하게 많습니다. 그만큼 많이 사용되는 함수인거죠~! 오늘은 이때 유용하게 사용할 수 있는 날짜/시간 관련 대표 함수들을 살펴볼게요. 헤더 HEADER #include time() 함수 - timestamp값 출력 [문법 SYNTAX] time_t time( t..
[C,C++] #if, #ifdef, #elif, #else, #endif 전처리기 지시어 알아보기. #if와 #ifdef 차이점이 무엇일까. 조건부 컴파일 매크로 [C,C++프로그래밍 완전정복 목차] 안녕하세요~ㅎㅎ 오늘 알아볼 전처리기 지시어는 #if, #ifdef, #else, #endif 입니다. if 조건문과 #if 비교를 통해 #if 역할 알아보기 #if ~#else ~#endif는 조건문 if~else 로직과 비슷하게 보이죠??? 보이는 것처럼 의미도 둘이 유사합니다. 하지만 차이가 있어요.ㅎㅎ 가장 먼저 보이는 가시적 차이는 지시어의 경우 #endif 이렇게 닫아주는 지시어가 있습니다. 일반 if문의 경우 괄호로 블락을 구분하지만 전처리기는 괄호를 사용하지 않기 때문이죠 ㅎㅎ 의미적 차이로는 일반 if 조건문이 FALSE일 경우, 실행이 되지 않을 뿐 컴파일은 된다면, #if가 0이라면 컴파일 자체가 되지 않습니다. #include int main()..
[C,C++] 가변인자 매크로 (Variadic Macros) 알아보기. __VA_ARGS__, ##__VA_ARGS, ##args를 아시나요? [C,C++ 프로그래밍 목차 링크 모음] 안녕하세요~~!! 양햄찌 주인장입니다. 저번 시간에 여러 인자를 넘겨 받을 수 있도록 가변인자(variable argument)사용하는 법을 배웠는데요. 이 주제에 이어서 가변인자 매크로에 대해 얘기해볼까 합니다. 혹시 Variable Argument에 관한 내용을 모른다! 하시는 분들은 아래 포스팅을 먼저 읽고 오시면 이번편을 수월하게 이해하실 수 있습니다. https://jhnyang.tistory.com/293 [C,C++] 가변인자 함수의 사용(va_start, va_arg, va_list등등) 함수에 불특정 여러개의 인자를 넘기고 싶� [C, C++ 프로그래밍 강좌 목차] 안녕하세요~ 양햄찌 주인장입니다. 오늘은 오랜만에 프로그래밍 언어에 관련된 포스팅을..
[C, C++] hex 헥사값 아스키코드 문자열로 변환하기, hex <-> string 헥사문자열 변환 소스코드 hex to string [C/C++ 언어 강좌 링크] 안녕하세요~. 블로그 주인장 양햄찌입니다.ㅎㅎㅎㅎ 오랜만에 소스코드 포스팅을 가져왔어요. 헥사 문자열과 아스키 문자열간의 변환 소스코드 오늘은 많이 사용하는 '문자열을 16진수인 헥사 값으로 전환'하거나 'hex값을 문자열로 변경'하는 코드를 작성해보려고 해요. 한 예로 obj 파일을 열어보면 위처럼 되어있는데 빨간색 네모박스에 있는 문자열은 hex 값이고 노란색 부분은 hex값을 문자열로 변경시켜놓은 문자열입니다. 이렇게 hex로 이뤄진 문자열을 받았을 때 이를 아스키코드 string값으로 변환하는 코드를 짜볼거예요. [HEX STRING TO ASCII STRING 헥사 문자열에서 아스키 문자열로 변환하기] 먼저 알아야 할건, 1바이트는 8bit이고 8bit 최대 값은 ..
[로그 출력 함수 만들기]현재 파일명, 함수명, 라인 번호 출력하기. __FILE__, __FUNCTION__, __LINE__ 등의 전처리 매크로를 알아보자. [C, C++ 목차 바로가기] 안녕하세요~~! 양햄찌 블로그 주인장 입니다. 오늘은 로그 파일 만들때 단골로 사용되는 매크로들을 알아보아요. 해당 매크로들은, 호출된 시점에서 파일명과 함수명 그리고 라인명을 알려주는 기능을 수행합니다. 호출된 녀석의 위치와 정보를 아는 것은 중요하다~ ■ ERROR TRACKING 어느 파일, 어느 함수에서 해당 로그가 찍혔는지 아는 것은 디버깅에 매우 중요합니당. 에러가 발생했을 경우, 어디까지 정상이었다가 어디부터 걸렸는지 쉽게 파악할 수 있어요. ■ SOURCE FLOW 에러가 났을 때 뿐만 아니라, 소스가 매우 길고 복잡할 경우, 이런 로그 정보들을 차례대로 따라가면 로직 FLOW를 쉽게 이해하는데 도움이 됩니다. 어디 모듈 다음엔 어느 모듈이 호출되고,, 어떤 ..
[C,C++] 가변인자 함수의 사용(va_start, va_arg, va_list등등) 함수에 불특정 여러개의 인자를 넘기고 싶을 때, C언어 유사 오버로딩 [C, C++ 프로그래밍 강좌 목차] 안녕하세요~ 양햄찌 주인장입니다. 오늘은 오랜만에 프로그래밍 언어에 관련된 포스팅을 들고왔어요. 오늘의 주제 포스팅을 들어가기 전 'C++의 오버로딩'에 대한 개념을 알고 계시다면 좀 더 이해하기 수월합니다! 오버로딩에 관한 포스팅은 아래 링크를 참고해주세요! https://jhnyang.tistory.com/75 [C, C++, java 공통] 오버로딩이란? Overloading 개념 [C언어, C++언어 완전 정복! 강의 목차 링크] 이번에는 overloading 오버로딩 vs overriding 오버라이딩 맨날 비교하는 질문 유명하죠? 말이 비슷해서 비교대조 문제로 종종 출제되는(?) 오버로딩에 대해�� jhnyang.tistory.com 가변인자 언제 써? 가..