저번에 했던 scanf() 래핑하기를 업글해봤습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364#include //setlocale()#include //wprintf() wscanf() NULL#include //srand() rand()#include //char16_t#include //int32_t#include //bool#include //va_list, va_start(), va_end(), va_arg()#include //time() #if defined(_WIN32) || defined(_WIN64)#include #..
라이브러리는함수가 인자를갯수 형태에 상관없이 받을수있도록하는 기능을 제공합니다 이기능을 이용해서 함수가 입력받은 인자들중에서 최대값을 리턴하도록 작성해보겠습니다. 12345678910111213141516171819202122232425262728293031323334int32_t _wMax(const char16_t* _lpszFormat, ...){ //함수 초기화 va_list args; va_start(args, _lpszFormat); const char16_t* lpszFormat = _lpszFormat; int32_t n = 0; const char16_t* lpszEnd; n = wcstol(lpszFormat, &lpszEnd, 0); //함수 초기화 끝 //함수 wcstol 은 std..
이글을 작성하게된 계기는 VS2017에서 clang 컴파일러 사용시 error : illegal character encoding in string literal 오류를 경험하시는분들에게 해결책이 되지않을까 싶어서 올려봅니다 저같이 15시간정도 고통받지마세요.. 아래는 오류가뜨는 사진 입니다 오류뜹니다!! 내용을 보니까 error : illegal character encoding in string literal 처음보는 오륜데 뭐지.......................... 전이때 억장이 무너졌습니다.. -----원인설명------ VS2017은 소스코드를 생성할떄 기본 인코딩 값이 UTF-16 잡힙니다. 윈도우 메모장도 파일 생성할때 기본 인코딩값이 UTF-16 입니다 VS2017에서 제공하는 M..
메뉴입니다 초라합니다. 첫번째 메뉴를 선택해서 16진수를 3진수로 변환해 봤습니다. 다띄우기 모드입니다 10진수로 입력받아서 2진수부터 36진수까지 다띄웁니다. 광폭화 모드를 누르면1부터 메모리가 허용하는선까지 2진수부터 36진수까지 쭈루루루루루룩 변환을 시도합니다. 프로그램의 흐름은사용자로부터 몃진수 숫자 타입으로 입력받을건지 알아냅니다.그다음 사용자로부터 그 진수의 숫자를 입력받습니다.사용자가 올바른 진수형으로 입력했는지배열 하나하나 검색합니다. 사용자가 제대로 입력했으면어떤 진수형으로 변환하고싶어하는지 입력받은뒤 계산을 합니다문자열로 입력된 숫자를 정수형으로 고쳐줍니다그다음에 그 정수형으로 사용자가 원하는 진수형으로 변환해주고그정수형을 다시 문자열로 바꿔준다음에출력합니다. 아래는 코드입니다코드 제일..
C의 라이브러리함수 stdlib.h 에서 atoi() 라는 함수는배열의 문자열을 인자로 받아서 정수로 반환해서 값을 리턴해줍니다. 저는 배열을 통짜로 바꿔주는 함수보다는문자 1개 1개 씩입력받아서 정수로 바꿔주는 함수가 필요해서 만들어 봤습니다. 문자 '0' 부터 '9' 사이 그리고 'A' 부터 'Z' 사이일때값을 변환해서 리턴해줍니다 0일 경우 0을 반환합니다.A 일경우 10 반환합니다. 만약 지정한범위에 없는 숫자일경우그냥 그값을 반환합니다. 1234567891011121314151617181920int ctoi(char _cChar){ char cChar = _cChar; //인자를 지역변수에 저장합니다. int iConverted = 0; //변환값을 저장할 변수입니다. if ( '0'
scanf() 함수를 사용하기 불편하고예외처리를 추가할때 자료형별로 함수를 하나하나 만들어 줘야할 생각을 하니까하늘이 깜깜해져서여기저기 알아보다가C에 _Generic()이라는 기능과 에서 variable arguments 기능을 제공한다는걸 알게되서기능을 활용해서 scanf() 함수를 더 편리하게 만들어 볼려고 노력했습니다. _Generic() 기능은 자료형을 매개인자로 받은뒤에 자료형에 따라 기능이 작동합니다.switch() 문인데 자료형을 변수로 받는다고 생각하시면 됩니다. 라이브러리는 표준 라이브러리로함수의 매개변수 갯수나 타입에 상관없이 함수가 매개변수를 받을수있습니다.함수 1개로 가변적 매개변수에 대응할수 있게 됩니다. 는 C++의 Variadic Template의 기능과 비슷하다고 보시면 됩니..
비주얼스튜디오 2017 에서 _Generic()이 인식되지 않아서알아본결과비주얼스튜디오의 C 컴파일러는 C11의 모든기능을 지원하지 않다는걸 알게됬습니다.C99도 완벽하게 지원하지 않는다는거 같네요.오류도 잘 못잡아주고 최신기능도 지원안해줘서프로그램을 짜는데 힘이듭니다. DevC++ 나 TruboC++를 써서 해결해 보려고 했지만 불편해서 바로 비주얼 스튜디오로 돌아왔습니다. 본론으로 C11 기능이 사용 되게 하도록 해보겠습니다. File - > New -> Project 로 가서 클릭합니다 저런창이 뜨면왼쪽 하단에 파랑색글씨된 Open Visual Studio Installer 를 눌러줍니다 클릭하면 이런화면이 뜹니다 상단에 아래와 같은 메뉴들이 보이시나요?Wordloads Individual comp..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816..
- Total
- Today
- Yesterday
- flying bee
- 도매인 가격비교
- gettext
- scss slider
- HTML
- 도메인 가격비교
- wxWidgets
- fyling fly
- C
- 1000 자리 계산기
- dropdown list
- .editorconfig
- CSS 슬라이더
- xgettext
- #비주얼스튜디오
- slider
- scanf()
- C++
- 오류
- SCSS @for
- css slider
- CSS
- C11
- JS
- stdarg.h
- Visual Studio 2017
- #C
- responsive slider
- Generic()
- _Generic()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |