将数组传递给函数
passing array to function
我试图在两个函数之间传递数组。_data函数是我的数组。它有3个参数;数组本身,数组的大小和数组的文件名。因此,这个函数应该从输入文件(.txt)中获取每个元素并将其放入数组中,它似乎做得很好。
void _data(string dataArray[], int sizeOfArray, ifstream &fin)
{
const int CharBuffer=20;
char linedata[CharBuffer];
ifstream& getline (char* s, streamsize n );
for(int x = 0; x < sizeOfArray; x++)
{
fin.getline(linedata, CharBuffer);
dataArray[x]=linedata;
cout << dataArray[x] << endl;
}
}
ifstream& operator>>(ifstream &fin, ArrayIntStorage &AIS)
{
string acwData[10000];
_data(acwData, 10000, fin);
return fin;
}
,但在接下来的部分,我需要输出值从我的数组到一个文本文件,我必须在一个单独的函数。
所以我的问题是,我如何访问下面函数中存储在acwData数组中的数据?(或任何其他函数)
ofstream& operator<<(ofstream& fout, ArrayIntStorage& AIS)
{
return fout;
}
我是否需要以不同的方式初始化我的数组函数以包含返回类型?
这段代码有几个错误:
void _data(string dataArray[], int sizeOfArray, ifstream &fin)
在大多数情况下,以下划线开头的名称是为c++实现保留的——不要在自己的代码中使用它们,除非你相当仔细地阅读了c++标准,我怀疑你没有。
ifstream& getline (char* s, streamsize n );
不要自己声明标准库函数。这个函数是在<iostream>
中声明的,所以你应该#include这个头文件。
使用数组是可疑的。因为你显然是使用c++和标准库,为什么不使用vector<string>
,你应该传递到你的函数作为参考。
相关文章:
- 第 i 个元素返回 i 的函数数组
- 使用嵌套函数数组是个好主意吗?
- 正确实现类函数数组
- 试图引用已删除函数数组的相等运算符
- 如何在静态函数中使用成员函数数组
- 无法创建函数数组
- 构造函数数组
- 使用开关或定义函数数组 - 更快
- 编写一个函数,该函数将覆盖主函数数组中的值
- 可以像'funs[1]();'一样调用的函数数组
- std::AVX内部函数数组
- 如果数组大小未知,如何将函数数组作为参数传递
- 从函数数组中获取值
- 使用元编程在编译时初始化函数数组
- 将C函数数组转换为C++函数指针数组
- 复制构造函数 [数组] C++
- 添加函数数组并随机选择其中一个
- 指针到私有成员函数数组
- 可以单独声明函数数组的元素
- (c++)将main中的随机值保存到函数数组中