В C++ можно ли читать из файла, который содержит целые числа и хранить его в массиве char []?char array в C++
ответ
Да. Пока ваши целые числа достаточно малы, чтобы быть представленными в виде байта. Если нет, то они, скорее всего, будут потеряны.
Да, можно сохранять номера из файла в массив char
:
#include <fstream>
#include <iterator>
#include <algorithm>
int main(int argc, char* argv[])
{
std::ifstream in("input.txt");
char arr[100];
char* end = std::copy(std::istream_iterator<int>(in),
std::istream_iterator<int>(),
arr);
return 0;
}
Есть две проблемы. Во-первых, во время компиляции вы должны знать размер вашего массива. Два, каждый из входных номеров должен вписываться в char
. Обратите внимание, что это отформатированный вход, поэтому допустимый диапазон не равен 0-255 или даже 0-127. Это допустимый символ, поэтому «0», «2», «a», «C» и т. Д. Являются допустимыми вводами для каждого символа.
Возможно, вы хотите прочитать свой файл в формате std::vector<std::string>
?
#include <fstream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <string>
int main(int argc, char* argv[])
{
std::ifstream in("input.txt");
std::vector<std::string> vec;
std::copy(std::istream_iterator<int>(in),
std::istream_iterator<int>(),
std::back_inserter(vec));
std::transfrom(vec.begin(), vec.end(),
vec.begin(),
my_transform());
return 0;
}
Здесь мы читаем числа в std::vector<std::string>
. Затем мы обрабатываем каждое строковое представление числа посредством функтора my_transform
. Вы определяете функтор как простую структуру, которая определяет std::string operator()(const std::string&)
. Оператор функции-вызова принимает число и, как ожидается, возвращает манипуляцию с номером, однако вы хотите изменить его.
Обновлено, чтобы отразить использование 'std :: vector
- 1. C++ 2D Char array
- 2. C sizeof char array
- 3. C Queue Char Array
- 4. C++ char array scope
- 5. C++ Scrolling Char Array
- 6. C char * array allocation
- 7. Возвращение char array ?? (C)
- 8. C Exam Char Array
- 9. Возвращает char * array в C++
- 10. C++ char array to int и int to char array
- 11. C++ char array copy to unsigned char array
- 12. Преобразование C++ char array в строку C#
- 13. C - Array of Char Arrays
- 14. Циркуляр Char Array Buffer - c
- 15. C++ char array to int
- 16. C * argv [] и char array [] []
- 17. char array marshaling in C#
- 18. C Программирование: указатели/char array
- 19. C char array, сохраняющий переменную
- 20. C realloc 2D char array
- 21. Const char для Array C++
- 22. C char array, странные символы
- 23. Array of char * in C
- 24. C++ Inflate gzip char array
- 25. Функция return Char array C
- 26. C программирующий указатель char array
- 27. Array of char arrays C++
- 28. Parse char array in c
- 29. 2 Dimensional Char Array C++
- 30. C++, truncate a char array
Да, вы можете. Вы лучше объясняете свой желаемый вход и выход? –
Согласовано - в частности, хотите ли вы форматировать или неформатированный ввод-вывод. – ildjarn
Внутренне это означает, что целые числа хранятся в формате ASCII ?! – sasi