Мне нужна помощь в чтении пробелов, разделенных между текстовым файлом и массивом. вот пример текстового файла: «69 2 189 1876». количество ints известно (4 в этом примере). Я попробовал поиск по Google, но до сих пор не нашел удовлетворительного решения. Это мой первый раз, когда я делаю файлы ввода-вывода, поэтому, пожалуйста, пройдите ко мне. Заранее спасибо :)Чтение пробелов разделенных номеров из текстового файла в массив из ints (C++)
ответ
Здесь показан возможный подход:
const size_t N = 4;
int a[N] = {};
std::ifstream in("YourTextFile");
size_t n = 0;
while (n < N && in >> a[n]) ++n;
Если число значений прочитанных не известно, то вместо массива вы можете использовать стандартный класс зОго :: вектор. Например
std::ifstream in("YourTextFile");
std::vector<int> v;
int num;
while (in >> num) v.push_back(num);
Вы можете заказать некоторые начальные памяти вектора, если вы показать, что файл содержит, по меньшей мере, количество элементов, которые зарезервированы в векторе. Например
v.reserve(4);
Я хочу сохранить их в массиве, а не в векторе – user3789296
@ user3789296 В моем сообщении написано, как хранить данные в массиве, если количество данных известно. –
Просто используйте std::copy
:
#include <algorithm>
#include <fstream>
#include <iterator>
#include <vector>
std::vector<int> array;
std::ifstream stream("filename");
std::copy(std::istream_iterator<int>(stream),
std::istream_iterator<int>(),
std::back_inserter(array));
Если вы хотите прочитать только первый N один, использовать std::copy_n
вместо std::copy
.
Vector! = Array – user3789296
@ user3789296 Вектор - это, безусловно, [массив] (http://en.wikipedia.org/wiki/Array_data_structure). Если вы не хотите использовать 'std :: vector' по какой-либо причине, и вы знаете размер upfront, вы можете использовать' std :: array' и передать его begin iterator вместо 'std: back_inserter (array)'. – rightfold
- 1. Чтение номеров из текстового файла в C#
- 2. C# Чтение из текстового файла, разделенных запятыми в 2d массив
- 3. Чтение пробелов из текстового файла
- 4. Чтение номеров, разделенных запятыми и пробелами из текстового файла
- 5. Python Чтение номеров из текстового файла
- 6. Java Чтение номеров из текстового файла
- 7. парсинг номеров из текстового файла
- 8. C# - Чтение номеров из текстового файла и средних средних значений
- 9. C++ Чтение из текстового файла
- 10. Чтение из файла на C++, касающееся пробелов
- 11. простое чтение из текстового файла
- 12. Чтение ints из файла с помощью C
- 13. Чтение данных из текстового файла в массив
- 14. чтение из текстового файла в массив зубчатым
- 15. Печать пробелов из текстового файла в C++
- 16. (C++) чтение из текстового файла
- 17. C# чтение из текстового файла
- 18. Чтение чисел из текстового файла в массив
- 19. Чтение чисел из текстового файла в массив
- 20. Чтение из текстового файла в массив строк
- 21. Чтение данных из текстового файла в массив
- 22. Чтение из текстового файла
- 23. чтение из текстового файла
- 24. C++ чтение из данных из текстового файла
- 25. Чтение ints из NSData?
- 26. Чтение номеров из текстового файла в ArrayList в Java
- 27. Чтение слов из текстового файла в массив в C
- 28. Чтение Int из текстового файла в массив в C
- 29. Чтение ввода из текстового файла в массив в C++
- 30. Чтение ввода из текстового файла в массив в C++
Вы что-то пробовали? Можете ли вы хотя бы открыть файл и получить номера как-то (как строка для instacce)? –
Вам нужно показать попытку, и тогда люди будут очень рады сообщить вам, какие ошибки вы совершили, и как их улучшить. Вы знаете, как читать один «int» и распечатывать его? Вы знаете о 'std :: Vector'? – BoBTFish