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

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

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

Чтение данных из текстового файла - C++

17.10.2016, 19:31. Просмотров 190. Ответов 10
Метки нет (Все метки)

здравствуйте. программа считывает координаты, но как мне считать строки, которые чередуются с координатами?
помогите пожалуйста считать строки " 2457667.500000000 = A.D. 2016-Oct-06 00:00:00.0000 TDB " из файла.
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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <conio.h>
#include <sstream>
using namespace std;
 
int main()
{
    int c,s; int p = 2;
    int const C=29;int S=9;
    double** Tabl=new double*[C];
for(int c=0;c<C;c++) Tabl[c]=new double[S];
    fstream fi;
    string st;
    fi.open("file.txt",ios::in);
    if (fi)
    {
        while (getline(fi, st) && st != "$$SOE");
 
    int c = 0;
    while (getline(fi, st))
    {
        fi >> Tabl[c][0] >> Tabl[c][1] >> Tabl[c][2];
        if (!fi) break;
        ++c;
        getline(fi, st);
    }
    }
    else
        cout << "Error opening file!" << endl;
 
//----------------------------------
    int i,j;int N=14;
    double* x=new double[N];
    double* y=new double[N];
    double* z=new double[N];
    for(int i = 0; i < 14 ; i++)
    {
        x[i]=Tabl[i][1];
        y[i]=Tabl[i][2];
        z[i]=Tabl[i][3];
 
    }
     
    FILE *Ga;Ga=fopen("a.txt", "w");        
    for(i=0; i<14; i++)
    {
        fprintf(Ga,"%f\t\%f\t\%f\t\n",x[i],y[i],z[i]);
    } 
return 0;
}
Вложения
Тип файла: txt file.txt (1.5 Кб, 1 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2016, 19:31     Чтение данных из текстового файла
Посмотрите здесь:

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

Чтение данных из текстового файла в структуру - C++
Добры вечер новичках и профессионалам! Изучаю C++ только четыре месяца и сейчас разбираюсь с записью из файла (библиотека fstream). И...

Как правильно реализовать чтение данных из текстового файла? - C++
char buff; ifstream sho; sho.open(&quot;Мафіни.txt&quot;); if (!sho.is_open()) { cout &lt;&lt; &quot;Error!!!\n&quot;; } else { cout &lt;&lt;...

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

Чтение из текстового файла - C++
Вот код: #include &lt;iostream&gt; using std::cout; using std::endl; using std::cin; void main() { setlocale(LC_ALL,...

Чтение текстового файла - C++
здравствуйте. у меня не получается считать текстовый файл. сам файл имеет имеет жесткую структуру: первая строка число(по сути колличество...

Чтение из текстового файла - C++
Здравствуйте, Уважаемые форумчане. Возникла такая проблема. Надо считать из файла(внешнего) данные тип int и char- это 2 разных файла, в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nd2
2117 / 1689 / 593
Регистрация: 29.01.2016
Сообщений: 5,435
17.10.2016, 19:37     Чтение данных из текстового файла #2
Цитата Сообщение от Oktiabrina Посмотреть сообщение
программа считывает координаты, но как мне считать строки, которые чередуются с координатами?
Нужно просто пропустить эти строки?
Oktiabrina
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
17.10.2016, 19:41  [ТС]     Чтение данных из текстового файла #3
не пропустить, вывести эти строки в другой файл столбиком 2457667.500000000 = A.D. 2016-Oct-06 00:00:00.0000 TDB
nd2
2117 / 1689 / 593
Регистрация: 29.01.2016
Сообщений: 5,435
17.10.2016, 19:57     Чтение данных из текстового файла #4
Конец данных в файле - это пустая строка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    fstream fi;
    string st;
    fi.open("file.txt",ios::in);
    ofstream fout("out.txt");
    if (fi)
    {
        while (getline(fi, st) && st != "$$SOE");
 
        int c = 0;
        while (getline(fi, st) && st != "")
        {
            fout << st << endl;
            fi >> Tabl[c][0] >> Tabl[c][1] >> Tabl[c][2];
            fi.get();
            ++c;
        }
    }
    else
        cout << "Error opening file!" << endl;
Oktiabrina
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
17.10.2016, 20:05  [ТС]     Чтение данных из текстового файла #5
начало и конец $$EOE
nd2
2117 / 1689 / 593
Регистрация: 29.01.2016
Сообщений: 5,435
17.10.2016, 20:54     Чтение данных из текстового файла #6
Цитата Сообщение от Oktiabrina Посмотреть сообщение
начало и конец $$EOE
Смотрим выложенный файл:
$$SOE
2457667.500000000 = A.D. 2016-Oct-06 00:00:00.0000 TDB
-7.338622934885863E-01 2.005633271251506E+00 1.372477182589531E-01
2457668.500000000 = A.D. 2016-Oct-07 00:00:00.0000 TDB
-7.456504351039814E-01 2.002048047780193E+00 1.381951974538046E-01
2457669.500000000 = A.D. 2016-Oct-08 00:00:00.0000 TDB
-7.574159313196218E-01 1.998402384571660E+00 1.391384931814476E-01
2457670.500000000 = A.D. 2016-Oct-09 00:00:00.0000 TDB
-7.691584523924008E-01 1.994696460011022E+00 1.400775816648049E-01
2457671.500000000 = A.D. 2016-Oct-10 00:00:00.0000 TDB
-7.808776702426369E-01 1.990930454486028E+00 1.410124393485401E-01
2457672.500000000 = A.D. 2016-Oct-11 00:00:00.0000 TDB
-7.925732584673340E-01 1.987104550368110E+00 1.419430428995994E-01
2457673.500000000 = A.D. 2016-Oct-12 00:00:00.0000 TDB
-8.042448923531946E-01 1.983218931993333E+00 1.428693692077290E-01

$$EOE
*******************************************************************************
Coordinate system description:
*******************************************************************************
И где тут это?
Цитата Сообщение от Oktiabrina Посмотреть сообщение
начало и конец $$EOE
Oktiabrina
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
17.10.2016, 21:02  [ТС]     Чтение данных из текстового файла #7
там лишний пробел..

$$SOE
2457667.500000000 = A.D. 2016-Oct-06 00:00:00.0000 TDB
-7.338622934885863E-01 2.005633271251506E+00 1.372477182589531E-01
2457668.500000000 = A.D. 2016-Oct-07 00:00:00.0000 TDB
-7.456504351039814E-01 2.002048047780193E+00 1.381951974538046E-01
2457669.500000000 = A.D. 2016-Oct-08 00:00:00.0000 TDB
-7.574159313196218E-01 1.998402384571660E+00 1.391384931814476E-01
2457670.500000000 = A.D. 2016-Oct-09 00:00:00.0000 TDB
-7.691584523924008E-01 1.994696460011022E+00 1.400775816648049E-01
2457671.500000000 = A.D. 2016-Oct-10 00:00:00.0000 TDB
-7.808776702426369E-01 1.990930454486028E+00 1.410124393485401E-01
2457672.500000000 = A.D. 2016-Oct-11 00:00:00.0000 TDB
-7.925732584673340E-01 1.987104550368110E+00 1.419430428995994E-01
2457673.500000000 = A.D. 2016-Oct-12 00:00:00.0000 TDB
-8.042448923531946E-01 1.983218931993333E+00 1.428693692077290E-01
$$EOE
nd2
2117 / 1689 / 593
Регистрация: 29.01.2016
Сообщений: 5,435
17.10.2016, 21:08     Чтение данных из текстового файла #8
Цитата Сообщение от Oktiabrina Посмотреть сообщение
там лишний пробел..
И начало не $$EOE...
Цитата Сообщение от Oktiabrina Посмотреть сообщение
начало и конец $$EOE
Добавлено через 2 минуты
Ещё и пробел лишний перед $$EOE...

Добавлено через 52 секунды
Тогда так исправить:
C++
1
2
        while (getline(fi, st) && st != "$$EOE")
        {
Oktiabrina
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
17.10.2016, 21:08  [ТС]     Чтение данных из текстового файла #9
да я наверно не так выразилась, между $$EOE знаками нужные данные
nmcf
5240 / 4560 / 1532
Регистрация: 14.04.2014
Сообщений: 18,122
17.10.2016, 21:08     Чтение данных из текстового файла #10
Тогда условие во втором цикле такое же, как в первом.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2016, 21:09     Чтение данных из текстового файла
Еще ссылки по теме:

Чтение из текстового файла - C++
Нашел программу для чтения из файла информации: Номер предмета, Наименование, Фамилия. Помогите создать текстовый документ под программу,...

Чтение текстового файла - C++
Знакомлюсь с чтением текстового файла. Изначально была такая программа: #include&lt;iostream&gt; using namespace std; struct spip { ...

Чтение текстового файла - C++
Всем привет. Не могу понять как читать из текстового файла значения разных типов. Вот мне например нужно считать файл с таким содержанием: ...

Чтение из текстового файла - C++
как сделать чтобы прога выводила на экран слова из текстового документа пока не натыкалась на символ &quot;;&quot; а после этого прога начиналась с...

Чтение из текстового файла - C++
вот этот кусок кода как будет выглядит на с++? begin assign(input,'input.txt'); reset(input); assign(output,'output.txt');...


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

Или воспользуйтесь поиском по форуму:
nd2
2117 / 1689 / 593
Регистрация: 29.01.2016
Сообщений: 5,435
17.10.2016, 21:09     Чтение данных из текстового файла #11
Цитата Сообщение от Oktiabrina Посмотреть сообщение
между $$EOE знаками нужные данные
Может между $$SOE и $$EOE ?
Yandex
Объявления
17.10.2016, 21:09     Чтение данных из текстового файла
Ответ Создать тему
Опции темы

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