Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
EvIIIL
18 / 18 / 1
Регистрация: 13.11.2013
Сообщений: 24
#1

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

05.03.2015, 18:29. Просмотров 495. Ответов 8
Метки нет (Все метки)

Здравствуйте. Мне нужно написать программу, которая считывает цифры с текстового документа input.txt, написанные в строку через пробел, например: 25 34 9 77 993. Далее: вывести их на экран консольного окна уже забитые в некий массив, а не просто ту же считанную строку! Буду очень благодарен.
http://www.cyberforum.ru/cpp-beginners/thread1118239.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2015, 18:29
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Чтение строчного массива с текстового файла (C++):

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла?
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них...

Чтение из текстового файла
Вот код: #include <iostream> using std::cout; using std::endl; using...

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

Чтение текстового файла
Знакомлюсь с чтением текстового файла. Изначально была такая программа: ...

Чтение из текстового файла
Добрый день. Проблема моя в следующем: есть текстовой файл примерно следующего...

8
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,235
05.03.2015, 18:34 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fstream>
#include <iostream>
#include <vector>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs)
        return 1;
 
    std::vector<int> v;
    for (int x; ifs >> x; v.push_back(x));
    for (const auto x : v)
        std::cout << x << " ";
}
Обратите внимание на ; в 12 строке. Это цикл без тела.
1
EvIIIL
18 / 18 / 1
Регистрация: 13.11.2013
Сообщений: 24
05.03.2015, 18:48  [ТС] #3
Вроде сам метод понятен, НО компилятор выводит 2 вот такие ошибки в 13 строке:

|13|warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]|
|13|error: 'x' does not name a type|
1
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,235
05.03.2015, 18:53 #4
Код написан с применением С++11, перепишите 13 строку через итераторы, включите поддержку через флаг -std=c++11 / -std=c++0x или смените компилятор.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fstream>
#include <iostream>
#include <vector>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs)
        return 1;
 
    std::vector<int> v;
    for (int x; ifs >> x; v.push_back(x));
    for (std::vector<int>::const_iterator cit = v.begin(); cit != v.end(); ++cit)
        std::cout << *cit << " ";
}
1
EvIIIL
18 / 18 / 1
Регистрация: 13.11.2013
Сообщений: 24
05.03.2015, 19:04  [ТС] #5
Теперь программа возвращает число 1, то есть ему не удается на первом шаге найти указанный файл, как я понимаю, хотя сам текстовый документ input.txt хранится в папке с проектом.

Process returned 1 (0x1)
1
Stafilo
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 2
05.03.2015, 19:34 #6
попробуйте написать путь к файлу, чтото вроде такого
C++
1
    std::ifstream ifs("D:\\Prog\\input.txt");
0
EvIIIL
18 / 18 / 1
Регистрация: 13.11.2013
Сообщений: 24
05.03.2015, 19:42  [ТС] #7
Цитата Сообщение от Stafilo Посмотреть сообщение
попробуйте написать путь к файлу, чтото вроде такого
Код C++
1
* * std::ifstream ifs("D:\\Prog\\input.txt");
Все-равно: Process returned 1 (0x1)
0
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,235
05.03.2015, 21:17 #8
Цитата Сообщение от EvIIIL Посмотреть сообщение
Теперь программа возвращает число 1, то есть ему не удается на первом шаге найти указанный файл, как я понимаю, хотя сам текстовый документ input.txt хранится в папке с проектом.
Какая IDE? Свойства проекта меняли?
0
lKORENl
28 / 28 / 15
Регистрация: 26.11.2014
Сообщений: 57
Завершенные тесты: 1
05.03.2015, 23:13 #9
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
int _tmain(int argc, _TCHAR* argv[])
{
    
    int q;
    int size = 0;
    ifstream f;
    f.open("input.txt");
    
    while(!f.eof())
    {
    f >> q;
    size++;
    }
    f.close();
    int *A = new int[size];
 
    f.open("input.txt");
    for (int i = 0; i < size; i++)
        f >> A[i] ;
    f.close();
 
 
    for (int i = 0; i < size; i++)
        cout << A[i] << "  ";
    cout << endl << endl;
}
0
05.03.2015, 23:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2015, 23:13
Привет! Вот еще темы с решениями:

Чтение из текстового файла
Условие задачи: В текстовый фаил (c:\program\zitel.txt) записаны: -...

Чтение из текстового файла
Всем доброго времени суток. Допустим у меня есть файл (file.txt) Содержание...

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

Чтение из текстового файла
Здравствуйте, Уважаемые форумчане. Возникла такая проблема. Надо считать из...


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

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

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