Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] C++ | Проблема с iostream.h (http://forum.oszone.net/showthread.php?t=71845)

sasha11 24-09-2006 18:41 488937

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(пиратка) записал только С++ !!! - может в этом дело???

ivank 24-09-2006 20:19 488965

sasha11
Плохая книжка. Старая. По стандарту файл называется "iostream". без ".h". То бишь должно быть
Код:

#include <iostream>
using namespace std;

(это что бы было аналогично "древнему" iostream.h. Вторая строчка совсем необязательна. Но без неё придётся указываеть спецификатор std:: перед стандартными именами. А в такие дебри пока лучше не лезьть).

Так же _tmain(int argc, _TCHAR* argv[])- это что-то очень нестандартное. Стандартное - main(int argc, char *argv[]). Выкинь такую книжку нафиг.

sasha11 24-09-2006 20:31 488970

пасибо, без h, и с :: действительно работает !!! а книги, какие посоветовали - Бьярн Страуструп !!! мож что по лучше можеш посоветовать !!!

ivank 24-09-2006 20:44 488975

sasha11
Какое издание Страуструпа? Это важно. Он сам не рекомендует пользоваться изданиями до 3-его - они слишком старые, слишком многие современные плюсовые концепции в них не описаны. Ну и вот такой казус с библиотеками. В 3-ем и специальном изданиях такого примера точно нет (только что пролистал). Так что предлагаю найти современное издание Страуструпа. А то, которое есть, выкинукть.

mrcnn 25-09-2006 04:21 489034

В Visual C++ 6 (без SP) #include <iostream> не прокатывает. Выдает ошибку, что нужный заголовочный файл не найден. Прокатывает без ошибок #include <iostream.h>

pva 25-09-2006 07:47 489058

У микрософта вообще нелады со стандартной библиотекой. Я ставил себе vc60, там вообще её не оказалось. Может, правда, дистрибутив урезанный был. У борланда STL можно по-человечески использовать только после 6 билдера. Для работы с STL удобней (по-моему) использовать GCC 3.3.2 или Metrowerks CodeWarrior 8.0

mrcnn 25-09-2006 09:57 489105

Цитата:

У микрософта вообще нелады со стандартной библиотекой. Я ставил себе vc60, там вообще её не оказалось. Может, правда, дистрибутив урезанный был.
А может быть стандарт на язык еще не был общепринят в 1998 г., т.е когда вышла VS 6? напомню, что международный стандарт на C++ был ратифицирован летом 1998, т.е в том же году.

ivank 25-09-2006 12:03 489169

mrcnn
Цитата:

может быть стандарт на язык еще не был общепринят в 1998 г., т.е когда вышла VS 6?
Именно так. Шестая студия очень, очень плохо поддерживает стандарт во всех его проявлениях. Поэтому и пользоваться ей сейчас совсем не стоит.

Но #include <iostream> там должно работать. Ибо всегдя я так делал (ещё когда была у меня VC6), и вроде ничего - прокатывает.

hasherfrog 25-09-2006 12:18 489178

ivank
#include <iostream.h> - "ВЕЧНАЯ" проблема...
Она же ещё и в *nix'ах "играет" :rotate:

Надо бы в wiki...

sasha11 25-09-2006 19:46 489438

всем БОЛЬШОЕ СПАСИБО я купил - Освение самостояьельно 21день, 24часа и Visual C++.net 21день от SAMS - как рекоменд. в другом топике, а ещё Герберда Шилда(справочник) !!!! как вам мой выбор ???

lehha 26-09-2006 08:49 489614

MSDN самое классное описание)


Время: 16:00.

Время: 16:00.
© OSzone.net 2001-