在C++中,我可以从包含整数的文件读取数据并将其存储在char数组[]中?C++中的字符数组
0
A
回答
0
是的。只要你的整数足够小,可以表示为一个字节。否则,它们的高位字节可能会丢失。
3
是的,这可以从一个文件中存储的数字在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&)
。函数调用操作符需要一个数字,并希望返回数字的操作,但是您希望更改数字。
+0
更新后反映使用'std :: vector
相关问题
- 1. C中的字符数组
- 2. C中的字符数组?
- 3. 字符与数组c中的数组
- 4. C++数组的字符串
- 5. C#中的字符串数组拆分
- 6. c中的字符串数组
- 7. C中的字符串数组与malloc
- 8. c中有字符的数组
- 9. Managed C++中字符串的数组
- 10. C++字符数组复制到无符号字符数组
- 11. 如何从C中的字符数组中获取字符串?
- 12. 在C/C++中使用字符作为数组下标字符
- 13. C数组的const无符号字符[] []
- 14. c中的字符数组处理(复制指向字符数组的指针)
- 15. c中的字符串与字符数组的比较
- 16. 如何将字符数组分配给另一个字符数组中的另一个字符数组C
- 17. C#字符串数组
- 18. 返回字符数组?? ??(C)
- 19. C - tokenise数组字符
- 20. C字符串数组Manipulaion
- 21. C字符数组指针
- 22. C++字符串数组
- 23. 阵列字符数组C++
- 24. 字符数组问题C++
- 25. C字符串数组
- 26. 指针字符数组C++
- 27. C++字节数组的字符
- 28. 查找C字符串中的二维字符数组中的字符串
- 29. 排序与c中的字符串数组有关的数组
- 30. C字符数组印刷数字insted分配的字符集
是的,你可以。你更好地解释你想要的输入和输出? – 2011-04-12 01:20:47
同意 - 具体来说,是否需要格式化或未格式化的I/O。 – ildjarn 2011-04-12 01:21:22
内部是否意味着整数以ASCII格式存储? – sasi 2011-04-12 01:23:30