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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kellerman
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 34
#1

Зацикливание при вводе из файла - C++

27.05.2013, 21:11. Просмотров 289. Ответов 3
Метки нет (Все метки)

требуется ввести из файла в вектор данные типа float. программа зацикливается при выводе целой части вещественного числа.
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
#include "stdafx.h"
#include <iostream>
#include <fstream> 
#include <vector>
 
using namespace std;
 
class buff
{
    public:
        vector<float> data;
        void burnFile(istream& file);
        
};
void buff::burnFile(istream& file)
{
    int value;
    int i = 0;
    while (!file.eof())
    {
        file>>value;
        data.push_back(value);
        cout<<data[i]<<" ";
        i++;
    }
 
}
int main ()
{
    setlocale( LC_ALL,"Russian" );
    buff *one = new buff;
    fstream file("file.txt");
    one->burnFile(file);
    
}
в файле данные записаны в каком виде:
0
Вложения
Тип файла: txt file.txt (599 байт, 3 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 21:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Зацикливание при вводе из файла (C++):

Зацикливание программы при вводе - C++
Добрый день. У меня почему то происходит зацикливание программы при вводе строки с пробелами. Есть структураstruct sklad { char...

Зацикливание программы при вводе некорректных данных - C++
Привет всем! Я совсем новенький в программировании на С++ (в школе чуток увлекался Бейсиком, но забросил). Три дня назад решил освоить С++....

Задачка про зацикливание при вводе не числа (решено но нужна консульт) - C++
Все решено ошибка найдена если есть идеи могут предложить лучший алгоритм int NumberOfElements=0; //глобальная переменная int...

Зацикливание при чтении из файла - C++
Пытаюсь читать из файла данные,сохраненные из Экселя TempBook-&gt;SaveAs(PathFile+&quot;\\&quot;+&quot;Temp&quot;,Excel::xlCSV , &amp;vtMissing, &amp;vtMissing,...

Происходит зацикливание при чтении файла - C++
Доброго времени суток! Ниже находится код, который посимвольно читает файл, и записывает в другой файл часть символов исходного файла,...

Почему при вводе числа программа работает нормально, а при вводе буквы уходит в бесконечный цикл? - C++
void mainmenu() { cout &lt;&lt; &quot;Введи число&quot; &lt;&lt; endl; cin &gt;&gt; choice; if (choice == 1) { cout &lt;&lt; &quot;Hello&quot; &lt;&lt; endl; } ...

3
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
27.05.2013, 21:14 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void buff::burnFile(istream& file)
{
    //int value;
    float value;
    int i = 0;
    while (!file.eof())
    {
        file>>value;
        data.push_back(value);
        cout<<data[i]<<" ";
        i++;
    }
 
}
1
Kellerman
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 34
27.05.2013, 21:16  [ТС] #3
спс)
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.05.2013, 21:58 #4
Если в файле, в конце последней строки, стоит символ новой строки (а в выложенном файле так), то чтение нужно так сделать (иначе будет лишнее чтение):
C++
1
2
3
4
5
6
7
8
while (true)
{
     file >> value;
     if (file.eof()) break;
     data.push_back(value);
     cout << data[i] << " ";
     i++;
}

Вернее даже не лишнее чтение (считывания как раз не произойдёт), а лишнее добавление в вектор и вывод того, что было считано в предыдущей итерации.
0
27.05.2013, 21:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 21:58
Привет! Вот еще темы с ответами:

Класс name, включающий в себя данные (имя, фамилия, отчество и номер работника). Зацикливание при чтении файла - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; #include &lt;locale.h&gt; using namespace std; int kol; int cl =...

Странности при вводе из файла - C++
Программа должна получать данные из файла.... Примечательно, что она их получает корректно только при определенном положении слов в...

Как распознать кодировку текста при вводе из файла? - C++
Имеется файл с текстом, написанный в каком-то текстовом редакторе на каком-то человеческом языке. Программа должна считывать этот...

При вводе из файла проверить, следующая строка пустая или нет - C++
Можно ли как-нибудь проверить является ли следующая строка при вводе, например, текста из файла пустой. Допустим: &gt;Он любил кататься на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru