- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[C/C++] 닷넷2003에는 iostream.h가 없다!? 본문
유닉스상에서 프로그램을 짜다가 오랜만에 비주얼스튜디오에서 테스트 프로그램을 만드려
했는데 전에 쓰던건 6.0 이번엔 닷넷을 설치하고선 C++소스를 만들었는데 자꾸 에러가
발생하였다. 아주 간단히 만들어봐도 계속 에러가 발생..."iostream.h가 없다?"
include/에서 헤더파일을 훑어봤더니 이런... 정말 iostream.h가 없어져버렸다.
지식IN에 검색해본 결과 .NET2003부터는 iostream.h를 지원하지 않는다고..ㅡ_ㅡ;;
아래는 지식IN내용이고 그 아래는 MSDN라이브러리의 iostream에 대한 정보.
비주얼 스튜디오 닷넷2003버전 에서요 아래 소스를 컴파일 하려고 하는데요 ========================================================================= #include< iostream.h > void main() { int a[5]; for( int b = 0 ; b == 4 ; b++ ) { cout < < "Input" < < b < < " : "; cin > > a[b]; } for( b = 0 ; b == 4 ; b++ ) { cout < < "Output : " < < endl; cout < < a[b] < < endl; } } =========================================================================== 처음에 컴파일 할때 iostream.h 파일이 없는것으로 에러가 떴습니다 그래서 도움말 파일을 본 결과 닷넷 2003 버전에서는 iostream.h 를 더이상 제공 안한다고 나와서 터보C++에서 쓰던 iostream.h와 관련된 것들을 모조리 VC.net의 include 폴더에 붙여넣었습니다 그리고 다시 하니까 헤더파일 없다는 얘기는 안나왔는데 문제는 다음부터 입니다 =========================================================================== D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\MEM.H(55) : error C3630: '__value' 토큰을 처리하는 동안 오류가 발생했습니다. D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\MEM.H(55) : fatal error C1190: 관리되는 대상 코드에 '#using < mscorlib.dll >' 및 '/clr' 옵션이 있어야 합니다. =========================================================================== 위의 에러는 어떻게 해야 없어지죠? 특히 두번째 에러에 #using하고 /clr옵션은 약간 생소한데 어떻게 해야 도스C++을 닷넷 2003에서 쓸수있는지 알려주세요 |
질문자가 선택한 답변 |
re: 비주얼 스튜디오 닷넷 2003에서 컴파일 안되는문제 - 내공15 |
이의제기 | 신고하기 |
질문자 평 감사해요 이제 되네요 | |
iostream.h는 더이상 지원되지 않는 헤더입니다. iostream.h대신 iostream 헤더를 사용하시기 바랍니다. #include < iostream > using namespace std; 와 같이 하시면 iostream.h를 사용할때와 같은 방식으로 사용할 수 있습니다. |
MSDN LIBRARY 내용
Visual C++ 개념: 이식 및 업그레이드 |
Visual C++ .NET 2003에서는 이전의 iostream 라이브러리가 제거되었습니다.
표준 C++ 라이브러리와 이전 런타임 라이브러리의 주요 차이점은 iostream 라이브러리에 있습니다. iostream 구현에 관한 세부 내용이 변경되었으므로 표준 C++ 라이브러리에 링크하려면 iostream을 사용하는 일부 코드를 다시 작성해야 합니다.
코드에 포함시킨 이전 iostream 헤더(fstream.h, iomanip.h, ios.h, iostream.h, istream.h, ostream.h, streamb.h 및 strstrea.h)를 모두 제거하고, 한 개 이상의 새 표준 C++ iostream 헤더(<fstream>, <iomanip>, <ios>, <iosfwd>, <iostream>, <istream>, <ostream>, <sstream>, <streambuf> 및 <strstream>이며 모두 .h 확장명 없음)를 추가해야 합니다.
다음 목록에서는 이전 iostream 라이브러리의 동작과 다른 새 표준 C++ iostream 라이브러리의 동작에 대해 설명합니다.
새 표준 C++ iostream 라이브러리에서
- open 함수는 보호 매개 변수인 세 번째 매개 변수를 갖지 않습니다.
- 파일 핸들로부터 스트림을 만들 수 없습니다.
- 두 가지 예외도 있지만 새 표준 C++ 라이브러리의 모든 이름은 std 네임스페이스에 있습니다. 자세한 내용은 Using C++ Library Headers을 참조하십시오.
- ofstream 개체를 ios::out플래그만으로 열 수는 없습니다. ios::out 플래그는 논리 OR를 사용하여 ios::in 또는 ios::app 등의 다른 ios 열거자와 결합해야 합니다.
- ios::good은 파일 끝에 도달하면 eofbit 상태가 설정되기 때문에 더 이상 0이 아닌 값을 반환하지 않습니다.
- 기본 플래그가 현재 아무 것도 설정되지 않았다는 사실을 모른다면 ios::setf(_IFlags)를 ios::dec, ios::oct 또는 ios::hex의 플래그 값과 함께 사용할 수 없습니다. 서식이 지정된 입/출력 함수와 연산자는 기본만 설정된 것으로 간주합니다. 그 대신, ios_base를 사용하십시오. 예를 들어, setf( ios_base::oct, ios_base::basefield )는 모든 기본 정보를 제거한 다음 기본을 8진수로 설정합니다.
- ios::unsetf는 이전 값 대신 void를 반환합니다.
- istream::get( char& _Rch )은 오류가 발생할 경우 Rch에 할당하지 않습니다.
- istream::get( char* _Pch, int _Ncount, char _Delim )은 다음 세 가지로 나뉩니다.
- 아무 것도 읽지 못한 경우 failbit가 설정됩니다.
- eos는 항상 문자가 추출된 다음 저장되는데, 이는 결과와 관계 없이 발생합니다.
- _Ncount에 대해 –1의 값은 오류입니다.
- 잘못된 매개 변수를 가진 istream::seekg는 failbit를 설정하지 않습니다.
- 반환 형식 streampos는 오버로드된 연산자가 있는 클래스입니다. streampos 값(istream::tellg, ostream::tellp, strstreambuf::seekoff, strstreambuf::seekpos 등)을 반환하는 함수에서 필요한 형식의 반환 값을 캐스팅해야 합니다. 예를 들면, streamoff, fpos_t, mbstate_t 등이 있습니다.
- strstreambuf::strstreambuf( _Falloc, _Ffree )의 첫 번째 매개 변수(_Falloc)는 long이 아닌 size_t 인수를 가집니다.
위 변경 내용 외에도 이전 iostream 라이브러리의 요소인 다음의 함수, 상수 및 열거자는 새 iostream 라이브러리의 요소가 아닙니다.
- filebuf, fstream ifstream 및 ofstream의 attach 멤버 함수
- filebuf, fstream ifstream 및 ofstream의 fd 멤버 함수
- filebuf::openprot
- filebuf::setmode
- ios::bitalloc
- ios::nocreate
- ios::noreplace
- ios::sync_with_stdio
- streambuf::out_waiting
- streambuf::setbuf(같은 동작에 대해 rdbuf -> pubsetbuf 사용)
[출처] 닷넷2003에는 iostream.h가 없다!?|작성자 카르마
'★─Programing > ☆─C | C++' 카테고리의 다른 글
[C/C++] namespace 와 범위지정 연산자 (0) | 2009.09.29 |
---|---|
[C/C++] #include <iostream>(신버전) VS #include <iostream.h>(구버전) (0) | 2009.09.29 |
[C/C++] rand() % M 사용하지 말라!!! (2) | 2009.02.03 |
[C/C++] rand()함수.. 범위가 작구나 -> n * rand ( ) / RAND_MAX + 1 (0) | 2009.02.03 |
[C/C++] 랜덤함수의 표현범위 늘리는 방법 ( rand(), srand(), RAND_MAX ) (2) | 2009.02.03 |