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

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

Войти
Регистрация
Восстановить пароль
 
xpressforze
5 / 3 / 0
Регистрация: 25.12.2013
Сообщений: 56
#1

Считать из файла в массив без делиметра - C++

26.10.2015, 16:30. Просмотров 233. Ответов 13
Метки нет (Все метки)

Есть файл с содержимым 1|2|3|4|5. Нужно считать из него эти числа и записать в одномерный массив, соответственно избегать "|". Пока сделал только просто вывод файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <fstream>
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    char buff[50]; 
    ifstream fin("D:\\tmp.txt");
    fin >> buff;
    cout << buff << endl; 
    fin.close(); 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 16:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать из файла в массив без делиметра (C++):

Как считать матрицу из файла без указания размерности? - C++
Как считать матрицу из файла без указания размерности?

Считать файл в массив без лишних символов - C++
здравствуйте. нужна правильная реализация задачи: на вход подается файл, примерное содержание - &quot;Hello, username! etc. etc.&quot; на...

Нужно записать массив в файл, а потом из этого файла считать этот же массив - C++
Помогите, пожалуйста, никогда с файлами делов не имела. Нужно записать массив в файл, а потом из этого файла считать этот же массив. ...

Считать массив А с файла a.txt. после чего сформировать массив С в котором все отрицательные элементы с масси - C++
Помогите написать программу на C++. Изучала этот язык меньше пол года, пока есть проблемы. очень нужна ваша помощь Считать массив А с файла...

Считать массив А(n) из файла - C++
Колокол. Считать массив А(n) из файла. В массиве наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее...

Считать с файла в массив - C++
Подскажите, как считать посимвольно из файла в двумерный массив через fscanf? например в файле: ав сd и если посимвольно...

13
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,239
Записей в блоге: 27
26.10.2015, 16:31 #2
xpressforze, проходите по строке и выбираете всё, что не "|".
0
Kerry_Jr
Модератор
Эксперт PHP
2207 / 2003 / 701
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
26.10.2015, 16:34 #3
xpressforze, гляньте в сторону strtok и atoi
1
xpressforze
5 / 3 / 0
Регистрация: 25.12.2013
Сообщений: 56
26.10.2015, 16:42  [ТС] #4
Не очень понимаю как их использовать, мне бы пример как раз таки на этой задачке.
0
daslex
1287 / 531 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
26.10.2015, 16:43 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    int buff[50];
    int count = 0;
    ifstream fin("D:\\tmp.txt");
    while ( (fin >> buff[count++]) && (!fin.eof())) {
        if (fin) fin.ignore();
    }
    
    for (int i = 0; i < count; i++) cout << buff[i] << "  \n";
    system("pause");
    return 0;
}
0
xpressforze
5 / 3 / 0
Регистрация: 25.12.2013
Сообщений: 56
26.10.2015, 17:03  [ТС] #6
daslex, Спасибо. Не понял только почему в выводе в конце странное выражение)
Кликните здесь для просмотра всего текста
Считать из файла в массив без делиметра
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
26.10.2015, 17:16 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main(int argc, char* argv[])
{
    int buff[50];
    int count = 0;
    ifstream fin("D:\\tmp.txt");
    while (true)
    {
        fin >> buff[count];
        if (fin.fail()) break;
        ++count;
        fin.get();
    }
    
    for (int i = 0; i < count; ++i) cout << buff[i] << "  \n";
 
    system("pause");
}
0
daslex
1287 / 531 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
26.10.2015, 17:22 #8
Цитата Сообщение от xpressforze Посмотреть сообщение
Не понял только почему в выводе в конце странное выражение)
И так тоже?
C++
1
2
3
4
while ((fin >> buff[count++])) {
        if (fin.eof()) break;
        if (fin) fin.ignore();
    }
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
26.10.2015, 17:24 #9
daslex, у тебя count увеличится не зависимо от того, было ли что-то получено из потока.
Смотри мой вариант.
1
daslex
1287 / 531 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
26.10.2015, 18:24 #10
del
0
xpressforze
5 / 3 / 0
Регистрация: 25.12.2013
Сообщений: 56
26.10.2015, 18:56  [ТС] #11
Как можно не используя Ifstream get все это реализовать как бы собственной функцией?
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
26.10.2015, 19:00 #12
Чем плох ifstream?
0
xpressforze
5 / 3 / 0
Регистрация: 25.12.2013
Сообщений: 56
27.10.2015, 15:04  [ТС] #13
nmcf, Ну для опыта)
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
27.10.2015, 15:14 #14
Опыта чего?
Можно считать строку и затем в цикле искать позицию символа '|' и выделять подстроку.
Можно читать из файла посимвольно в строку, пока не встретится '|', после чего преобразовывать и повторять с начала.
0
27.10.2015, 15:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2015, 15:14
Привет! Вот еще темы с ответами:

Считать из файла в массив - C++
Добрый день форумчани, у меня маленькое недопонимание. В смысле я не могу считать из файла в МАССИВ, данный массив есть объектом главного...

Считать массив структур из файла - C++
//создание файла-записи #include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; using namespace std; //Стpуктуpа данных ...

Считать символы из файла в массив - C++
Пожалуйста. нужен код для реализации считывания символов из файла (.txt) в массив На С (и если не трудно, то и на С++) Спасибо

Не могу считать массив из файла - C++
доброго времени суток! толкнулся с проблемой считывания из файла миллиона чисел формата long long int в массив через fscanf. причем с файла...


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

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

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