Language & API/C
Language & API/C
2017. 5. 15.
C C++ 윤년 평년 구하기
4년에 한번식 2월달이 29일 됩니다. 이와 같은 년도를 윤년이라 두는데 이런것을 치윤법이라 합니다. 치윤법에는 아래와 같은 공식이 있습니다. 1. 4년에 한번은 윤년이라 한다. 2. 100년에 한번은 윤년이라 하지 않는다. 3. 400년에 한번은 윤년으로 한다. 예를 들면 2000년은 400으로 나누어 떨어지기에 윤년이라 하며 2100년은 100으로 나누어지기에 평년이라 합니다. 그럼 아래 소스코드를 보겠습니다. 1234567891011121314151617181920212223242526272829303132333435363738#include #include #include using namespace std; int leapYear(int year); int main(_In_ int _Argc, ..
Language & API/C
2017. 5. 2.
[코딩]VS2013 printf 64bit 주소 출력하기
printf 문에 주소를 표현하고 싶었습니다. %X %08X 를 사용하였으나 잘려나왔습니다. 아래와 같이 수정한 후 제대로 표현이 되었습니다. 123unsigned char b = 0x12;unsigned char *tt = &b;printf("0x%p", tt);cs 0x%p를 사용하였습니다. specifier Output Example x Unsigned hexadecimal integer 7fa X Unsigned hexadecimal integer (uppercase)7FA p Pointer address000000079B6AE324
Language & API/C
2017. 4. 27.
[코딩]문자열 리터럴 연결
두 줄 이상이 필요한 문자열 리터럴을 형성하려면 두 문자열을 연결합니다. 이렇게 하려면 백슬래시를 입력한 다음 리턴 키를 누릅니다. 백슬래시를 사용하면 컴파일러가 다음 줄 바꿈 문자를 무시합니다. 예를 들어, 다음 문자열 리터럴은 "Long strings can be bro\ ken into two or more pieces." 다음 문자열과 동일합니다. "Long strings can be broken into two or more pieces." 문자열 연결은 이전에 백슬래시를 사용한 모든 위치에 사용할 수 있습니다. 두 줄 이상의 문자열을 입력하려면 뒤에 줄 바꿈 문자를 추가하면 됩니다. 문자열 리터럴 내에서 줄을 강제로 추가하려면 다음과 같이 줄을 나눌 문자열 지점에 줄 바꿈 이스케이프 시퀀스(\..
Language & API/C
2017. 4. 24.
strcpy 와 strcpy_s 차이점
Vs 2013 에서는 strcpy를 사용하지 못하도록 되어있습니다. 하지만 아래와 같이 옵션을 No로 변경하면 strcpy를 사용할수 있습니다.. 그리고 되도록 이면 strcpy_s를 사용하면 좋습니다. 아래 코드를 보면서 strcpy와 strcpy_s에 대해 좀더 설명하도록하겠습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445#include int main(_In_ int _Argc, _In_reads_(_Argc) _Pre_z_ char ** _Argv, _In_z_ char ** _Env){ char _dest[10] = {0,}; char _Source[10] = "123456789"; //[0..
Language & API/C
2015. 10. 20.
Visual Studio main 명령 인수 넣기 및 인수 사용방법
C나 C++로 작업을 하다 보면 테스트 용도로 빈프로젝트를 만들어 테스트를 자주 하는데요. 가끔식 인수를 넣어 테스트를 할 경우가 발생합니다. 아래와 같이 디버깅할때 VS2013에서 명령 인수를 어디에 넣을 수 있는 지 살펴 보겠습니다. 명령 인수 : 10 a b c d e 1. 먼저 프로젝트 속성에 가도록 합니다. 2. 다음은 구성 속성에 가서 아래 그림 처럼 명령인수 텍스트 박스에 넣어주면 됩니다. 자 그럼 아래 코드처럼 받은 인수를 어떻게 사용하는지 간략하게 보도록 하겠습니다. 123456789101112131415161718192021222324#include #include #include int main(_In_ int _Argc, _In_reads_(_Argc) _Pre_z_ char ** ..
Language & API/C
2015. 6. 19.
define 매크로 ##연산자
토큰 붙여넣기 연산자 (##)int token10 = 1; #define paster(t) printf_s( "token" #t " = %d", token##t ) paster(10); 결과 : token10 = 1 위와 같은 define이 되어있으면 paster 넣어야 할 값은 상수를 넣어야 한다. 만약 변수를 넣으면 어떻게 될까? 위 소스를 예를 들어 아래 소스를 재구성 해보자. int test_int =10; paster(test_int); 이러면 define 부분에 printf_s( "token" #10 " = %d", token##10 ) 이 되는게 아니다. 결과는 printf_s( "token" #test_int " = %d", token##test_int ) 가 되어 버린다. 이걸 해결하려고..