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

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

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

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

06.08.2016, 22:31. Просмотров 264. Ответов 15
Метки нет (Все метки)

Как взять каждую строку из файла и присвоить каждой свою переменную?
Содержание файла:
intro
80
4
114
76
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4527 / 3865 / 1299
Регистрация: 14.04.2014
Сообщений: 15,168
07.08.2016, 09:25     Чтение по строкам из текстового файла #2
>>.
Operok
129 / 127 / 34
Регистрация: 15.02.2015
Сообщений: 399
Завершенные тесты: 2
07.08.2016, 15:28     Чтение по строкам из текстового файла #3
Цитата Сообщение от Kawumek Посмотреть сообщение
каждую строку
getline(file_in, line, '\n');
zss
Модератор
Эксперт С++
 Аватар для zss
6130 / 5733 / 1855
Регистрация: 18.12.2011
Сообщений: 14,656
Завершенные тесты: 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
4527 / 3865 / 1299
Регистрация: 14.04.2014
Сообщений: 15,168
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
6130 / 5733 / 1855
Регистрация: 18.12.2011
Сообщений: 14,656
Завершенные тесты: 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
6130 / 5733 / 1855
Регистрация: 18.12.2011
Сообщений: 14,656
Завершенные тесты: 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
6130 / 5733 / 1855
Регистрация: 18.12.2011
Сообщений: 14,656
Завершенные тесты: 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
6130 / 5733 / 1855
Регистрация: 18.12.2011
Сообщений: 14,656
Завершенные тесты: 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
6130 / 5733 / 1855
Регистрация: 18.12.2011
Сообщений: 14,656
Завершенные тесты: 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++
C++ Чтение из текстового файла
C++ Чтение текстового файла

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

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

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