c++ - 如何使用 strcpy 读取多个数据

标签 c++ file strcpy

我完成了一个项目,我在其中读取文件并将 txt 文件中的数据分配给矩阵。我遇到的问题是我有 8 个名为 data1.txt 到 data8.txt 的数据文件。我需要找到一种通过以某种方式增加文件名的数字部分来循环遍历数据文件名的方法。 我尝试使用 strcpy 读取多个数据文件,我的程序似乎没有任何错误,但它无法读取文件。我该如何解决?我在使用“strcpy”时错了吗?

char filename[10];
for(input = 1; input <= 5; input++){
strcpy(filename,"data."+input);
ifstream fin(filename);
}

或者可以是任何其他读取多个数据。

最佳答案

如果您尝试将对应于 input 的整数值的字符串附加到文件名,您将无法使用 strcpy 获取它。

有几种方法可以做到这一点,但最简单的一种是:

stringstream ss;
ss << filename << "data." << input;
ifstream fin(ss.str());

关于c++ - 如何使用 strcpy 读取多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19309985/

相关文章:

ajax - 处理 (jQuery) Ajax 调用中返回的 ASP.NET MVC FileResult

c - 检索/比较文件中的字符串与用户文本

c++ - 为什么 std::bitset 不带有迭代器?

python - 为什么我在输出文件中看不到实时输出?

c++ - vector 投影 - 确保我的车辆只能在地板/表面上加速

file - 为什么我不能使用 "file"作为 http 请求的 "body"?

c - 使用指针的 strcpy 函数不起作用

c - 内存中的 strcpy 和字符串表示

c++ - 如何裁剪不同矩阵中的一部分图像,但矩阵不会改变其在 openCV 中的大小。

c++ - 使用 xerces 读取 C++ 中的属性名称