С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
ok40
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25
#1

Построчное считывание из файла - C++

19.03.2013, 16:43. Просмотров 2039. Ответов 4
Метки нет (Все метки)

Всем привет!

Функция, которая считывает из файла значения и помещает их в массив. Проблема в том, что даже из файла не читает :-( Считывает только первое значение и всё. Данные в файле организованы следующим образом:
0.44564654564,5.3363636456456
4.35345354345,3.3434345345345
и т.д.
Вот кусок этой функции:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void LoadTables (double **tab, char *file_name, int size)
{
    int i;
    ifstream file_in(file_name);
    for(i=0; !file_in.eof(); i++)
    {
            char str1_file[25];
            char str2_file[25];
                file_in.getline(str1_file,25,',');
                file_in.getline(str2_file,25);
            tab[i][0]=atof(str1_file);  
        tab[i][1]=atof(str2_file); 
                cout<<tab[i][0]<<"  "<<tab[i][1]<<endl;
    }
    file_in.close(); 
}
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 16:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Построчное считывание из файла (C++):

Построчное считывание файла - C++
поделитесь готовой функцией или способом, с помощью которого можно считать с текстового файла ПОСТРОЧНО данные разных типов. например,...

Построчное считывание файла - C++
В файле у меня все строки вида: \x53\x74\x69\x6C\x6C\x2E\x2E\x2E\x00 Код считывающий файл построчно: ifstream i(&quot;first.dlg&quot;); string...

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

Построчное считывание из файла - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;malloc.h&gt; typedef struct { double x1; double y1; double x2; ...

Построчное считывание матрицы из файла - C++
Написал код ifstream fout(&quot;1.txt&quot;); if (fout.is_open()) { int i,j, N=0; fout&gt;&gt;N; //Считываю значение N ...

Построчное считывание файла txt в массив - C++
Добрый день. Пытаюсь вспомнить &quot;как там считывать из файла&quot;, вроде бы делала, но давно это было. Сейчас сижу, кручу-верчу, а понять...

4
Tsin
716 / 461 / 132
Регистрация: 30.12.2012
Сообщений: 1,252
Записей в блоге: 2
Завершенные тесты: 3
19.03.2013, 16:48 #2
ok40, не используй цикл for, делай проще)
C++
1
2
3
while(!file_in.eof())
{
}
а считывать попробуй так (вроде..)

C++
1
2
3
4
//Заведи стринг, в который будешь читать
string line;
//И читай так
getline(fie_in, line);
1
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 17:13 #3
У меня это код работает...
1
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 17:23 #4
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iomanip>
using namespace std;
 
void LoadTables (double **tab, char *file_name, int size)
{
    int i;
    ifstream file_in(file_name);
    for(i=0; !file_in.eof(); i++)
    {
            char str1_file[25];
            char str2_file[25];
            
            file_in.getline(str1_file, 25, ',');
            file_in.getline(str2_file, 25);
            
            tab[i][0] = atof(str1_file);  
            tab[i][1] = atof(str2_file); 
            
            cout.precision(12);
            cout << tab[i][0] << "  " << tab[i][1] << endl;
    }
    file_in.close(); 
}
 
int main()
{
   double **tab = new double*[10];
   for (int i = 0; i < 10; ++i)
        tab[i] = new double[2];
    
    LoadTables (tab, "2.txt", 10);
 
    for (int i = 0; i < 10; ++i)
        delete [] tab[i];
    delete [] tab;
    
    system("pause");
    return 0;
}
1
Миниатюры
Построчное считывание из файла  
ok40
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25
19.03.2013, 22:39  [ТС] #5
Спасибо всем большое за помощь! Сама ступила :-) вызывала эту функцию для трёх файлов, в одном из которых были данные разделялись не запятыми, а пробелами ) теперь всё ок! еще раз спасибо!
0
19.03.2013, 22:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 22:39
Привет! Вот еще темы с ответами:

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

Построчное считывание в файл - C++
Все записывается в одну строку , как сделать так чтобы записывалось в отдельные строки? void enter_new() { cout &lt;&lt;...

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

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


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

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

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