본문 바로가기

2017/077

strcpy strncpy 출처 : https://gpgstudy.com/forum/viewtopic.php?t=19342 strncpy()는 복사되었으면 하는 문자열의 길이를 넘어서지 않게 복사해 준다. 그리고 대상 버퍼를 넘어서게 되면 NULL로 끝나지 않는 문자열까지 복사하게 된다. 예를 들면 아래와 같다. strncpy(dest, 8, "1234567"); // dest == { '1', '2', '3', '4', '5', '6', '7', NULL } strncpy(dest, 8, "12345678"); // dest == { '1', '2', '3', '4', '5', '6', '7', '8' } strncpy_s() 는 대상 버퍼가 실제 수용가능한 크기와 복사되었으면 하는 문자열의 길이 두가지를 넘긴다. strncpy.. 2017. 7. 17.
strcpy_s 등 _s붙은 것들 특징, 문자열들 출처 : http://pccoms.tistory.com/entry/%EB%AC%B8%EC%9E%90%EC%97%B4-%EA%B4%80%EB%A6%AC-%ED%95%A8%EC%88%98%EB%93%A4-%EC%B4%9D%EC%A7%91%ED%95%A9 공통 _s 가 붙는 함수군에 대하여 - strDestination 버퍼를 넘어서는 메모리 복사를 방지하는 스트링 함수라 이해하면 되겠다. - _s류 함수의 첫 번째 인자로 배열이 들어가면 매크로에 의해 사이즈가 자동 계산된다. _s로 stcpy_s하더라도, 긴 string을 짧은 string으로 복사할 때, string이 잘리므로 뒤에 null이 없다. 생성된 짧은 string의 맨 뒤에 null을 넣어줘야 함. 2017. 7. 17.
memcpy strncpy 차이 링크 : http://jongyoungcha.tistory.com/entry/memcpy-strcpy%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90 memset같은 경우는 복사를 하다가 null을 만나도 복사를 멈추지 않고 끝까지 한다. 반면에 strncpy를 했을시에는 복사를 하다가 null값을 만나게 외면 복사를 멈추게 된다. 2017. 7. 17.
strcpy_s() 0xFD 출처 : https://kldp.org/node/91438 msdn 의 strcpy_s() 설명 The debug versions of these functions first fill the buffer with 0xFD. 라고 적혀 있습니다.즉, strcpy_s() 의 일반적인 동작이 아니라 Visual Studio 군의 Debug 빌드에서만 저런 동작을 한다는 것이죠. 2017. 7. 17.
GetLocaleInfo 함수 GetLocaleInfo 함수 정리 출처 : http://lab.cliel.com/entry/GetLocaleInfo-System%EC%9D%98-%EA%B5%AD%EA%B0%80%EB%B3%84%EC%A7%80%EC%97%AD-%EC%A0%95%EB%B3%B4 2017. 7. 12.
배열 초기화 방법 중 무엇이 더 효율적인가.. - 방법 1char arrA [ 50 ] = { 0, }; - 방법 2char arrB [ 50 ];memset ( arrB, 0, sizeof( arrB ) ); 위 두 방법 중 어떤것이 더 효율적일까 고민하다가 찾은 링크! 토론이 어마어마 https://kldp.org/node/31567 2017. 7. 12.
memset 주의할 점 링크 : http://beautyrain.tistory.com/7 2017. 7. 11.