Форум программистов, компьютерный форум CyberForum.ru

Застрял с вводом с файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что означает косая черта в имени библиотеки? http://www.cyberforum.ru/cpp-beginners/thread1153146.html
Встретила в jaula такой инклуд:"jaula/jaula_bad_data_type.h", в связи с чем возник вопрос: что значит эта косая? Это значит, что jaula_bad_data_type.h должна быть в папке jaula? Компилятор его не находит. Заранее благодарна.
C++ Используя множества, составить программу, которая находит: Используя множества А, В, С, состоящие из больших латинских букв, заполнены с клавиатуры, составить программу, которая находит: (A ∩ B) \ C. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1153137.html
C++ Шаблоны классов
Добрый день. Изучаю шаблоны классов в С++ в среде MVC 2006. Проблема в следующем: я создал шаблон класса стек, с размером этого самого стека 10 позиций, но не могу теперь сделать чтобы размер можно было вводить с клавиатуры. Помогите пожалуйста. #include "stdafx.h" #include "stack.h" #include "warrior.h" #include "iostream.h" int main(int argc, char* argv) { cout<<"Vvedite kol-vo...
Удалить из строки первое вхождение буквосочетание 'not' C++
Заданная строка S. Превратить S следующим образом: 1) Удалить из S первое вхождение буквосочетание 'not' ; 2) После первого буквосочетание 'so' вставить 'on' ; 3) В строку Х скопировать 4 символа из строки S после первой 'j' ; 4) Подсчитать количество буквосочетаний 're' .
C++ Найти разность 2-х чисел (max и min) из последовательности чисел, введенное с клавиатуры (n = 5) http://www.cyberforum.ru/cpp-beginners/thread1153085.html
Помогите с задачками на С++: 1. Найти разность 2-х чисел (max и min) из последовательности чисел, введенное с клавиатуры (n = 5). 2. Найти частное 2-х чисел (max и min) из последовательности чисел, введенных с клавиатуры (n = 6). Сколько раз пробую постоянно считает не то число, то есть либо оно слишком большое либо не верное. Помогите пожалуйста!
C++ Перегрузка операторов. Учусь. Ошибка перегрузка операторов.. ЗАДАНИЕ: М2=М1-V – из М1 удалить строки, сумма элементов которых больше суммы элементов V. где V- массив, М1 и М2 -матрицы. теоретически понимаю, что можно создаем метод: matrica operator-(const massiv &mas) - он должен создать новую матрицу, то есть нужно определить, сколько строк в результирующей матрице останется; потом выделить память в ней; и только потом... подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
21.04.2014, 14:55     Застрял с вводом с файла
Всем здравствуйте.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <fstream>
#include <string>
 
//static const int SIZEN = 64;
 
//void end_of_input(std::ifstream&, char);
 
int main() {
    using std::cout;
    using std::endl;
    using std::ifstream;
 
    std::string ifilen;
    cout << "enter filename\n";
    std::cin >> ifilen;
    cout << ifilen;
    ifstream ifile;
    ifile.open(ifilen.c_str());
    if (!ifile) {
        cout << "Unable to open " << ifilen << endl;
        return -1;
    }
    int val = 0, sum = 0;
    char sym;
 
    ifile >> sym;
    if (sym != '{') {
        cout << "Wrong file! " << endl;
        ifile.unget();
        ifile.clear(std::ios_base::failbit);
        return -1;
    }
    std::string temp, label = "data:";
    if (ifile >> temp && temp != label) {
 
        cout << "error";
        return -1;
    } else {
        cout <<"ok";
        while (ifile >> val) {
            sum += val;
        }
    }
   // end_of_input(ifile, '}');
    cout << sum;
    return 0;
}
 
/*void end_of_input(std::ifstream& s, char terminator) {
    if (s.fail()) {
        s.clear();
        char symbol;
        if (s >> symbol && symbol != terminator)
            std::cout << "wrong end of file";
    }
}*/
У меня при вводе некорректного имени файла то пишет предупреждение "unable to open", то не пишет. Не могу выследить систему появления-отсутствия этих сообщений.
Предполагается файл с данными вот такого характера:
{data: 53 52 71 71 09 14 61 8 51 4 14 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru