2010년 5월 22일 토요일

VS98에서 VS2008로 변환시 compiler error 대처법

1. <iostream.h>, <fstream.h>
   - <iostream>, <fstream> 으로 변경
   - using namespace std 선언

2. ios::nocreate
   - ios::_Nocreate으로 변경
   혹은
   - ios_base::in으로 변경(입력으로 열기로 단순 설정)

3. istream::eatwhite
   - skipws를 사용
   - 하지만 파일끝에 EOF(End of File)이 있으면 assertion이 생기니 실행전에 EOF 여부를 반드시 확인해야 함
[예제]
ifstream file("data.txt");
file >> skipws;
4. 현재 코드 페이지에 표시할 수 없는 문자
   - #pragma warning(disable:4819) 사용
   - 참고: http://bourne.tistory.com/118

5. char *는 LPTSTR로 변경

6. LPTSTR에서 char *로 변환 불가시
   - 프로젝트 속성에 가서 구성 속성 -> 일반 -> 문자 집합을 '멀티바이트 문자 집합 사용'을 선택
Enhanced by Zemanta

댓글 3개 :

  1. 2. 는...
    ios::_Nocreate
    출처 : visual studio의 xiosbase 파일.(// xiosbase internal header (from ))
    3. 은...
    sin >> skipws;
    sout << skipws;
    처럼 사용.. 출처 googling후..
    http://www.cplusplus.com/reference/iostream/manipulators/skipws/

    4.는... 고맙습니다. 잘 배워갑니다.

    답글삭제
  2. 3.은... ws 도 함께..
    istream& ws ( istream& is );
    예제: sin >> ws;

    답글삭제
  3. 댓글을 통해 제가 많이 배웠습니다. 감사합니다, william님.

    답글삭제

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.