차근차근/C 83

CString 의 비밀

검색어 | c++ cstring 출력 http://www.benjaminlog.com/entry/a-secret-of-CString 2012/04/12 11:55 | Programming다음 코드를 실행시켜보면 "abc"가 잘 출력이 될까? CString s = L"abc";wprintf(L"%s", s); 그렇다. 잘 출력된다.대부분의 사람들은 이 부분을 원래 그런거 아니었어? 하고 대수롭지 않게 넘어간다. 어잉, 그런가? 그렇다면 다음 코드는 어떨까? 이번엔 CString이 아니라 std::wstring을 사용했다. std::wstring s = L"abc";wprintf(L"%s", s); // this is wrong 컴파일은 잘 되지만 이번엔 제대로 출력되지 않는다. 형식 문자열에 포인터를 넣지..

차근차근/C 2014.09.04

LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 의 의미

http://pelican7.egloos.com/viewer/1768951 LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 뭔가 다 비슷 비슷해보이죠? 원래 c와 c++은 string이라는 똑똑한 자료구조형을 compiler차원에서 지원하고 있지 않습니다. 그대신 가장 많이 사용하는 string을 어떻게 저장해야 할지에 대해 고심한 결과... 결국 배열의 끝에 '\0'또는 0 또는 NULL값을 넣어 string을 표현하도록 했습니다. 결국 가장 적은 용량의 string처리와 가장 골치아픈 string처리가 탄생하는 순간이였죠. 어쨌거나 요점은... Windows에서는 이런 string처리를 위해서 char* 형을 그대로 쓰기 보다는 LPCSTR등의 표현으로 대치해 ..

차근차근/C 2014.09.04

"std::string"에서 "LPCTSTR"(으)로의 적절한 변환 함수가 없습니다.

http://blog.daum.net/penbell/71 string char * 타입 변환1. string과 char *C에서 문자열을 저장하기 위해서는 char[] 을 만들거나 char *를 사용하였다. C++에서는 좀더 편리하게 문자열을 사용하기 위해string 타입이 생겼다. 먼저 string 타입을 사용하기 위해선 다음과 같이 선언해줘야 한다.#include using namespace std;C에서 문자열을 사용하기 위해서는 #include 를 선언해줬지만 C++에서는 주로 .h가 생략된 헤더파일이 많다.결론적으로 문자열을 저장한다는 것은 같은데 string 타입의 문자열을 char *타입에 저장하거나 그 반대는 어떻게 될까? 2. char * string 변환string타입은 char * 타..

차근차근/C 2014.09.04

[VC]프로그래밍팁

http://www.limcom.co.kr/blog/24?category=9 1. 특정 디렉토리 뒤지기 지정한 디렉토리에 있는 모든 파일을 찾아내는 코드를 만들려면 어떻게 해야 합니까 ? 이 때 사용할 수 있는 API가 바로 FindFirstFile과 FindNextFile, FindClose라는 API들입니다. 사용 예제는 다음과 같습니다. WIN32_FIND_DATA findFileData; HANDLE hFileHandle; // szDir에 뒤지고자 하는 디렉토리의 경로명을 준다. 예를 들면 "C:\\TEMP\\*.*" // 찾아진 파일의 속성은 findFileData의 dwFileAttributes를 살펴본다. hFileHandle = FindFirstFile(m_szDir, &findFileD..

차근차근/C 2014.09.04

[펌] Win32 API FAQ

http://blog.naver.com/bravedog/100005391394 1. 특정 디렉토리 뒤지기지정한 디렉토리에 있는 모든 파일을 찾아내는 코드를 만들려면 어떻게 해야 합니까 ?이 때 사용할 수 있는 API가 바로 FindFirstFile과 FindNextFile, FindClose라는 API들입니다. 사용 예제는 다음과 같습니다.WIN32_FIND_DATA findFileData; HANDLE hFileHandle; // szDir에 뒤지고자 하는 디렉토리의 경로명을 준다. 예를 들면 "C:\\TEMP\\*.*" // 찾아진 파일의 속성은 findFileData의 dwFileAttributes를 살펴본다. hFileHandle = FindFirstFile(m_szDir, &findFileDat..

차근차근/C 2014.09.04

[MFC] 디렉토리 존재 유무 확인/디렉토리내 파일 검색

http://shyu0303.egloos.com/viewer/1333386 CFileFind란 Class를 사용하면 된다. CFileFind cFileFinder; BOOL bResult; // path를 찾음 성공시 TRUE, 실패시 FALSE bResult = cFileFinder.FindFile( path ); // 그 다음 같은 이름의 파일 혹은 디렉토리있으면 TRUE, 없으면 FALSE bResult = cFileFinder.FindNextFile(); if( cFileFinder.IsDirectory() == TRUE ) MessageBox( "디렉토리 존재함" ); FindNextFile을 하지 않고 IsDirectory() 함수를 호출하면 에러가 떠버린다. 아래와 같은 와일드 카드도 사용할..

차근차근/C 2014.09.04

Windows CE CFileFind

http://minamjun11.egloos.com/1373205 윈도우즈 CE에선 기본적으로 CFileFind를 제공하지 않고 있습니다.그래서 어느 능력자 분이 직접 구현을 하셨네요. 바로 아래는 CeFileFind.cpp와 헤더 파일을 압축한 것이고 그 아래는 전체 소스입니다. 파일 : . h 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#if !defined _CEFILEFIND_H_#define _CEFILEFIND_H_ #include class..

차근차근/C 2014.09.04

상위폴더경로로 하위폴더 검색

http://imagej.tistory.com/category/Language?page=4 VS2010에서 작성할 때빨간줄은 사라졌는데 실행이 잘 되는지는 모르겠다 CString은 출력할 때wprintf(L"%s", 출력할 것 );이런 식으로 해야 나오나 보다. #include //CFileFind#include using namespace std; int main (){ CFileFind cFileFinder; // CFileFind객체선언BOOL End_Of_Folder = false; // 폴더의 끝인가를 검사CString m_strSelectPath;CString Path ="C:/Users/hyunok/Desktop/설명.DB_TXT/image";//string에서 CString으로 바꿈 WIN..

차근차근/C 2014.09.03

c삭제 명령어?

http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=129781701&qb=Y3BwICwg7Y+0642U66qFIOydveq4sA==&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0 단순히 컴파일이 안 된다고 한다면 제가 소스에 오타를 내서 그런겁니다. ㅈㅅ...수정해 드렸으니 컴파일은 될 겁니다. 근데 성능 테스트는 못 해봤습니다.저도 다른 레포트가 있어서 시간이 빠듯하네요 ㅠㅠ #include // 하위 파일 검색하고 이런 거는 C 표준 라이브러리에 없습니다. 그래서 윈도우 API 씁니다. #include #include #include #include #include #include // 디렉터리면 1 아니면..

차근차근/C 2014.09.03
반응형