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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2011, 15:49   #1
Gared
 
Аватар для Gared
 
Регистрация: 15.05.2011
Сообщений: 7
Восклицание С++ Считывание чисел из файла с расширением .txt

Есть код на С++ для считывания двух чисел из файла .txt и записи их в переменные типа int.
Код:
#include<iostream>
#include<fstream>
#include<cstring>
#include<cmath>
#include<string>

//int chislo_y(std::string tmp, int razr);
int chislo(char* tmp, int razr);
int main(){
    int x, y, tmp, i = 0, count = 0;
    char *file = "/home/chertopolox/documents/file.txt";
    std::string str;
    std::getline;
    std::ifstream ifs(file);
    if(!ifs.is_open()){
        std::cerr << "Error: file " << file << "is not open\n";
        return 1;
    }
    else
        while(getline(ifs, str)){
            
            while (str[i] != ' '){
                ++count; ++i;
            }
            x = chislo(&str[0], count);
            
            count = 0; ++i;
            
            while(str[i]){
                ++count; ++i;
            }
            y = chislo(&str[i - count], count);
            count = 0; i = 0;
            
            std::cout << x << " "<< y << "\n";
        }
 
    ifs.close();
    return 0;
}
 
int chislo(char *tmp, int razr){
    int temp, chislo_ = 0, dec = 10, i = 0;
    temp = pow(dec, razr);
    while(temp != 1){
        chislo_ = chislo_ + (tmp[i] - '0') * temp;
        temp /= dec; ++i;
    }
    return chislo_ / dec;
}
Компилятор выдает такие ошибки:
warning C4551: function call missing argument list
error C2568: 'identifier' : unable to resolve function overload
Ругается на

Код:
std::getline;
error C2065: 'getline' : undeclared identifier
Ругается на

Код:
while(getline(ifs, str))
Помогите пожалуйста исправить ошибки. Заранее спасибо.
Gared вне форума Ответить с цитированием
Старый 18.09.2011, 15:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
std::getline;
Дак она то параметры принимает... И потом функции в Си по-любому вызываются со скобками.
Возможно не хватает
Код:
while(std::getline(ifs, str))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.09.2011, 16:11   #3
Gared
 
Аватар для Gared
 
Регистрация: 15.05.2011
Сообщений: 7
Радость

Благодарю. Все ошибки исправил.
Gared вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как скопировать текст с файла 1.txt и записать в 2.txt Kasper1 Общие вопросы по Java, Java SE, Kotlin 1 14.12.2010 05:56
Считывание чисел из файла в массив rubakKa Общие вопросы C/C++ 11 02.12.2010 21:55
Считывание из файла чисел, сортировка массива с++ Tresk Помощь студентам 13 07.11.2010 20:01
Считывание с файла отрицательных чисел trinki Общие вопросы C/C++ 2 01.10.2010 01:39