Показать полную графическую версию : [решено] C++ | Проблема с iostream.h
первый день изучаю С/С++ написал код(по книжке) -
#include "stdafx.h"
#include <iostream.h>
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Are you ready to terminate?" << endl;
char szText[256];
cin >> szText;
return 0;
}
но при компиляции выдает ошибку, типа нет файла iostream.h.(как я понял это стандартная библиотека)
Не могли подсказать в чем ошибка.
У меня визуал студия.NET 2003(пиратка) записал только С++ !!! - может в этом дело???
sasha11
Плохая книжка. Старая. По стандарту файл называется "iostream". без ".h". То бишь должно быть
#include <iostream>
using namespace std;
(это что бы было аналогично "древнему" iostream.h. Вторая строчка совсем необязательна. Но без неё придётся указываеть спецификатор std:: перед стандартными именами. А в такие дебри пока лучше не лезьть).
Так же _tmain(int argc, _TCHAR* argv[])- это что-то очень нестандартное. Стандартное - main(int argc, char *argv[]). Выкинь такую книжку нафиг.
пасибо, без h, и с :: действительно работает !!! а книги, какие посоветовали - Бьярн Страуструп !!! мож что по лучше можеш посоветовать !!!
sasha11
Какое издание Страуструпа? Это важно. Он сам не рекомендует пользоваться изданиями до 3-его - они слишком старые, слишком многие современные плюсовые концепции в них не описаны. Ну и вот такой казус с библиотеками. В 3-ем и специальном изданиях такого примера точно нет (только что пролистал). Так что предлагаю найти современное издание Страуструпа. А то, которое есть, выкинукть.
В Visual C++ 6 (без SP) #include <iostream> не прокатывает. Выдает ошибку, что нужный заголовочный файл не найден. Прокатывает без ошибок #include <iostream.h>
У микрософта вообще нелады со стандартной библиотекой. Я ставил себе vc60, там вообще её не оказалось. Может, правда, дистрибутив урезанный был. У борланда STL можно по-человечески использовать только после 6 билдера. Для работы с STL удобней (по-моему) использовать GCC 3.3.2 или Metrowerks CodeWarrior 8.0
У микрософта вообще нелады со стандартной библиотекой. Я ставил себе vc60, там вообще её не оказалось. Может, правда, дистрибутив урезанный был.
А может быть стандарт на язык еще не был общепринят в 1998 г., т.е когда вышла VS 6? напомню, что международный стандарт на C++ был ратифицирован летом 1998, т.е в том же году.
mrcnn
может быть стандарт на язык еще не был общепринят в 1998 г., т.е когда вышла VS 6?Именно так. Шестая студия очень, очень плохо поддерживает стандарт во всех его проявлениях. Поэтому и пользоваться ей сейчас совсем не стоит.
Но #include <iostream> там должно работать. Ибо всегдя я так делал (ещё когда была у меня VC6), и вроде ничего - прокатывает.
hasherfrog
25-09-2006, 12:18
ivank
#include <iostream.h> - "ВЕЧНАЯ" проблема...
Она же ещё и в *nix'ах "играет" :rotate:
Надо бы в wiki...
всем БОЛЬШОЕ СПАСИБО я купил - Освение самостояьельно 21день, 24часа и Visual C++.net 21день от SAMS - как рекоменд. в другом топике, а ещё Герберда Шилда(справочник) !!!! как вам мой выбор ???
MSDN самое классное описание)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.