Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2011, 17:47   #1
Firhov
 
Регистрация: 23.10.2011
Сообщений: 4
По умолчанию Borland с++ 3.1

Привет! есть программа которая считает сумму чисел из текстового файла.
Код:
#include <iostream>
#include <string>
#include <fstream>
 
int main( ){
    std::string s;
    std::cout << "Enter file path\n";
    std::getline(std::cin, s);
    std::ifstream ifs(s.c_str());
    if(ifs) {
        int size, sum;
        while(std::getline(ifs, s)){
            sum = 0;
            size = s.size();
            for(int i = 0; i < size; ++i){
                sum += s[i];
            }
            std::cout << s << ", sum = " << sum - 48 * size << std::endl;
        }
        ifs.close();
    }
    else std::cerr << "File not found\n";
    return 0;
}
что нужно подредактировать, что бы в ВС3.1 работала?
Заранее спасибо!

Последний раз редактировалось Stilet; 23.10.2011 в 18:26.
Firhov вне форума Ответить с цитированием
Старый 23.10.2011, 17:49   #2
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Firhov Посмотреть сообщение
Привет! есть программа которая считает сумму чисел из текстового файла.
#include <iostream>
#include <string>
#include <fstream>

int main( ){
std::string s;
std::cout << "Enter file path\n";
std::getline(std::cin, s);
std::ifstream ifs(s.c_str());
if(ifs) {
int size, sum;
while(std::getline(ifs, s)){
sum = 0;
size = s.size();
for(int i = 0; i < size; ++i){
sum += s[i];
}
std::cout << s << ", sum = " << sum - 48 * size << std::endl;
}
ifs.close();
}
else std::cerr << "File not found\n";
return 0;
}
что нужно подредактировать, что бы в ВС3.1 работала?
Заранее спасибо!
Наверное надо объявить включаемые заголовки с расширением .h, и убрать ссылки на пространство имен std::
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 23.10.2011, 18:31   #3
Firhov
 
Регистрация: 23.10.2011
Сообщений: 4
По умолчанию

Это я редактирую, потом ошибки появляются в string s;
Firhov вне форума Ответить с цитированием
Старый 23.10.2011, 18:39   #4
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Firhov Посмотреть сообщение
Это я редактирую, потом ошибки появляются в string s;
Дело в том,что заголовок <string.h> является стандартным заголовком языка С, в котором объявляются такие функции, как,например, strlen, strcpy и т.д.

Вам нужно точно определить название заголовочного файла, где объявлен класс string. Я по памяти не помню, но вы можете поискать в директории include BC31 по ключевому слову string. необходимый заголовочный файл.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 23.10.2011, 19:07   #5
Firhov
 
Регистрация: 23.10.2011
Сообщений: 4
По умолчанию

У меня там только STRING.H
Firhov вне форума Ответить с цитированием
Старый 23.10.2011, 19:09   #6
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Firhov Посмотреть сообщение
У меня там только STRING.H
Если в нем содержится объявление класса string,то ваш код должен компилироваться.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 23.10.2011, 19:29   #7
Firhov
 
Регистрация: 23.10.2011
Сообщений: 4
По умолчанию

а вообще string есть в bc3.1
Firhov вне форума Ответить с цитированием
Старый 25.10.2011, 19:21   #8
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Firhov Посмотреть сообщение
а вообще string есть в bc3.1
Вполне возможно, что в BC 3.1 шаблонного класса string вообще нету! То есть этот компилятор появился до включения шаблонов в стандарт С++.

Поэтому вам наверное объекты класса string придется заменить символьными массивами в стиле С, или сменить компилятор.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
unable to rename 'C:\ProgramFiles\Borland\Delphi7\Bi n\Delphi32.$$$' to 'C:\Program Files\Borland\Delphi7\ KazBoy Помощь студентам 1 12.04.2011 18:07
Borland C++ 3.1 Ворожея Помощь студентам 0 22.02.2011 15:14
не могу запустить ехешник ,Borland 5 и Borland 6 error_13 Общие вопросы C/C++ 0 31.01.2010 14:04
Borland c++ ARSENAL Помощь студентам 1 22.11.2009 12:36
BOrland C++ 6 ROD Общие вопросы C/C++ 0 02.02.2009 18:03