Strstrea.h (есть ли в линуксе?)

Модератор: Модераторы разделов

dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

Strstrea.h

Сообщение dreamer_astr »

Пытаюсь изучать с++, купил книгу ВВ Подбельского "Язык С++"
Практически с первого кода начались проблемы... (в проге "здравствуй мир" было void main(), на что gcc ругался что маин является int, что я и поставил вместо void и все стало нормально)...
так теперь во 2 проге написано #include <strstrea.h> о наличии которой мой gcc не догадывается... и что мне делать я теперь не понимаю... впору хоть книгу менять...
Самое интересное, что в книге не описываются в каких компиляторах собирать (на это я и польстился покупая ее)
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Strstrea.h

Сообщение Uncle_Theodore »

strstrea.h -- это "старый" стрингстримовский хедер. Нету его, разумеется. Га Интернете можно найти враппер, но лучше не надо...
Спасибо сказали:
dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

Re: Strstrea.h

Сообщение dreamer_astr »

а какая у него замена?
вот в этом коде:

Код: Выделить всё

//P1-02 - имя файла с программой
#include <iostream.h>
#include <strstrea.h>
int main(int narg, char **arg)
{
    float smin =2250; // Ставка 1-го разряда (1992г)
    // a[] - массив значений тарифных коэффициентов:
    float a[] = { 1.0, 1.3, 1.69, 1.91, 2.16, 2.44, 2.76, 3.12, 3.53, 3.99, 4.51, 5.10, 5.76, 6.61, 7.36, 8.17, 9.07, 10.07};
    int r; //r - разряд тарифной сетки оплаты труда
    cout << "\n";
    cout << "Программа вычисляет оклад в соответствии";
    cout << "\nс единой тарифной сеткой оплаты труда";
    cout << "\nдля работников бюджетных отраслей";
    cout << "в России.";
    if (narg == 1)
    { cout << "\nПо умолчанию минимальный оклад ";
      cout << smin << " руб.";
      cout << "\nПри необходимости изменить значение";
      cout << " минимального";
      cout << "\nоклада его нужно указать в";
      cout << " командной строке.\n";
    }
    else
    { // Чтение из безымянного строкового потока:
        istrstream(arg[1]) >> smin;
        cout << "\nОпределен минимальный оклад в";
        cout << smin << " руб.";
    }
    cout << "\nВведите номер разряда тарифной сетки: ";
    cin >> r; //Вводится клавиатурный номер разряда
    if (r<1 || r> 18)
    { cout << "Ошибка в выборе разряда!";
      return 1; //Аварийный выход из программы
    }
    cout << "Введенному разряду соответствует ставка ";
    cout << (long)(a[r-1]*smin) << " руб.";
    return 0; //безошибочное завершение программы
}
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Strstrea.h

Сообщение diesel »

можно :
#include <iostream>
#include <strstream>
using namespace std;


и компилить

Код: Выделить всё

 g++  -Wno-deprecated  test.cpp

шоб не ругалось :)
Спасибо сказали:
dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

Re: Strstrea.h

Сообщение dreamer_astr »

ругалась - я имею ввиду error'ы.
я побовал с Who-deprecated - эрроры оставались.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Strstrea.h

Сообщение diesel »

dreamer_astr писал(а):
28.05.2007 13:44
ругалась - я имею ввиду error'ы.
я побовал с Who-deprecated - эрроры оставались.

покажи ерроры
Спасибо сказали:
dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

Re: Strstrea.h

Сообщение dreamer_astr »

команда
g++ -Wno-deprecated P1-02.cpp

Код: Выделить всё

P1-02.cpp:3:22: error: strstrea.h: Нет такого файла или каталога
P1-02.cpp: In function ‘int main(int, char**)’:
P1-02.cpp:25: error: ‘istrstream’ was not declared in this scope

это без using std namespace
с теми изменениями включений и пространственных имен все собралось... Универсальное ли это средство?
И можно ли дальнейшие проблемы по книге писать сюда (могу даже тему переименовать)?
просто с книгами под "универсальные" компиляторы в городе проблема... а про linux и UNIX и подавно. а если заказывать через интернет - получается раза в 1,5-2 дороже, да и идут около месяца
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Strstrea.h

Сообщение diesel »

dreamer_astr писал(а):
28.05.2007 15:42
просто с книгами под "универсальные" компиляторы в городе проблема... а про linux и UNIX и подавно. а если заказывать через интернет - получается раза в 1,5-2 дороже, да и идут около месяца

книг Шилдта в городе чтоли нет?
Спасибо сказали:
dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

Re: Strstrea.h

Сообщение dreamer_astr »

из того что я нашел тут: http://www.books.ru/shop/search?query=%D8%...ks&count=11
только справочники (2-3 книжки на город), да и те исчезают, когда деньги появляются
(примтерно то же самое и с книгами по линуксу...)
Зато о великолепии программирования в MS Visual Studio - хоть ж... жуй
Спасибо сказали:
dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

Re: Strstrea.h

Сообщение dreamer_astr »

А если заказывать через инет, то обычно идет большая наценка и книжки по почте идут около месяца
Спасибо сказали: