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

Чтение по строкам из текстового файла - C++

Восстановить пароль Регистрация
 
Kawumek
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 7
06.08.2016, 22:31     Чтение по строкам из текстового файла #1
Как взять каждую строку из файла и присвоить каждой свою переменную?
Содержание файла:
intro
80
4
114
76
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2016, 22:31     Чтение по строкам из текстового файла
Посмотрите здесь:

Чтение из текстового файла C++
Чтение текстового файла C++
Чтение из текстового файла C++
Чтение из текстового файла C++
C++ Чтение текстового файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4297 / 3718 / 1251
Регистрация: 14.04.2014
Сообщений: 14,540
07.08.2016, 09:25     Чтение по строкам из текстового файла #2
>>.
Operok
125 / 123 / 33
Регистрация: 15.02.2015
Сообщений: 386
Завершенные тесты: 2
07.08.2016, 15:28     Чтение по строкам из текстового файла #3
Цитата Сообщение от Kawumek Посмотреть сообщение
каждую строку
getline(file_in, line, '\n');
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
07.08.2016, 16:27     Чтение по строкам из текстового файла #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
nmcf, >> читает по словам, а не по строкам.

Kawumek, если в 1 строке текст, а остальное числа, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
char intro[100];
int data[4];
ifstream file("file.txt");
if(file)
{
   file.getline(intro,100);
 
   for(int i=0;i<4;i++)
      file_in>>data[i];
   ...
}
nmcf
4297 / 3718 / 1251
Регистрация: 14.04.2014
Сообщений: 14,540
07.08.2016, 16:58     Чтение по строкам из текстового файла #5
Цитата Сообщение от zss Посмотреть сообщение
читает по словам, а не по строкам
Я ориентируюсь на его данные. Там пробелов не замечено. >> позволит сразу получить число, а после getline() ещё одно преобразование нужно.
Kawumek
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 7
07.08.2016, 21:46  [ТС]     Чтение по строкам из текстового файла #6
Цитата Сообщение от zss Посмотреть сообщение
Kawumek, если в 1 строке текст, а остальное числа, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
char intro[100];
int data[4];
ifstream file("file.txt");
if(file)
{
* *file.getline(intro,100);
for(int i=0;i<4;i++)
* * * file_in>>data[i];
* *...
}
на file_in vs2015 ругается, вроде все библиотеки, которые надо - приклеил
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <ctime>
#include <windows.h>
#include <fstream>
#include <string>
#include <locale>
#include <lmcons.h>
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
07.08.2016, 22:01     Чтение по строкам из текстового файла #7
Kawumek,
надеюсь, Вы все же догадались, что это опечатка.
Посмотрите - открыт поток не file_in, а file
C++
1
2
#include <iostream>
#include <fstream>
Kawumek
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 7
07.08.2016, 22:43  [ТС]     Чтение по строкам из текстового файла #8
zss, а теперь другая ошибка "Exception thrown at 0x00007FFDEC0C5E3D (msvcp140.dll)", проблема точно в чтении\записи в переменные. появляется при попытке вывести их на экран(чтобы проверить работает-ли или нет)
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
08.08.2016, 07:52     Чтение по строкам из текстового файла #9
Приведите код, который Вы компилируете.
И учитесь пользоваться отладчиком
Как пользоваться отладчиком (в Visual Studio)
Kawumek
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 7
08.08.2016, 10:03  [ТС]     Чтение по строкам из текстового файла #10
zss,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    int day = 1;
    int top = 2;
    int happiness = 3;
    int vac = 4;
    ofstream save("save.txt", ios_base::out | ios_base::trunc);
    save << "intro" << endl << day << endl << top << endl << happiness << endl << vac << endl;
    int data[4];
    ifstream file("save.txt");
    if (file)
    {
        file.getline(introsave, 100);
        for (int i = 0; i < 4; i++) {
            file >> data[i];
            cout << data[i];
        }
    }
    system("pause");
Благодаря отладчику я и понял, что проблема в этом
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
08.08.2016, 10:51     Чтение по строкам из текстового файла #11
Вы не закрыли файл при записи прежде, чем открывать на чтение

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    int day = 1;
    int top = 2;
    int happiness = 3;
    int vac = 4;
    ofstream save("save.txt");
    if(save)
    {
        save << "intro number 1" << endl << day << endl << top << endl << happiness << endl << vac << endl;
        save.close();
    }
    int data[4];
    char introsave[100];
    ifstream file("save.txt");
    if (file)
    {
        file.getline(introsave, 100);
        for (int i = 0; i < 4; i++) {
            file >> data[i];
            cout << data[i];
        }
    }
    system("pause");
Kawumek
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 7
08.08.2016, 12:10  [ТС]     Чтение по строкам из текстового файла #12
zss, я закрывал, в этом не было проблемы.
проблема в
C++
1
file.getline(introsave, 100);
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
08.08.2016, 12:54     Чтение по строкам из текстового файла #13
А такое объявление есть?
Цитата Сообщение от zss Посмотреть сообщение
char introsave[100];
Kawumek
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 7
08.08.2016, 13:05  [ТС]     Чтение по строкам из текстового файла #14
zss, оно указано в параметрах main
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
08.08.2016, 13:09     Чтение по строкам из текстового файла #15
Цитата Сообщение от Kawumek Посмотреть сообщение
указано в параметрах main
Нельзя писать в параметры командной строки, т.к. это текстовые константы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2016, 13:56     Чтение по строкам из текстового файла
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Kawumek
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 7
08.08.2016, 13:56  [ТС]     Чтение по строкам из текстового файла #16
zss, спасибо, помогло
Yandex
Объявления
08.08.2016, 13:56     Чтение по строкам из текстового файла
Ответ Создать тему
Опции темы

Текущее время: 17:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru