关于数组问题

toball 2003-12-02 02:12:38
我现在有一个文件
里面存放一些记录
一行一条记录
我现在想把文件中的数据取出来
存放到一个结构体数组中,然后根据一定的条件,通过比较去掉冗余记录的。
请问我的数组的大小该怎么定义
我可以写一个函数获取文件中的记录数的
但是数组是不能动态定义的




文件记录的格式是这样的:
型号 品名 数量 价格 厂家 DC
我打算定义一个结构体数组存放记录
struct filerecord
{
char type[40+1];
char prod_name[50+1];
char prod_number[40+1];
char price[40+1];
char manufacturer[60+1];
char date_code[20+1];
};
然后要根据条件,如果type,prod_name,manufacturer,date_code这几个字段
都相同的话就去掉冗余记录,哪位大吓能不能写个示例代码给我看看
或者给我提一些方案





...全文
81 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bonmarshal 2003-12-13
  • 打赏
  • 举报
回复
me
Poseidon2 2003-12-13
  • 打赏
  • 举报
回复
建议你不要用数组,用vector,这样:
先定义一个结构
struct TXTROW
{
CString type;
CString prod_name;
CString prod_number;
CString price;
CString manufacturer;
CString date_code;
}
再声明一个vector型变量和
vector<TXTROW> txtRow;
再循环读取行中的内容到结构,最后加入到vector;
txtRow.push(你要加入的结构);
采用泛型编程会有一些好处。
toball 2003-12-12
  • 打赏
  • 举报
回复
我该给谁分呢
bonmarshal 2003-12-02
  • 打赏
  • 举报
回复
你的tmp不就可以了吗! tmp.type !
toball 2003-12-02
  • 打赏
  • 举报
回复
假如我用下面这种方法来实现
filerecord tmp;
CArray<filerecord,filerecord> array;
for()
{
tmp取值;

array.Add(tmp);
}

for(int i=0;i<array.GetSize();i++)
{
tmp=array.GetAt(i);
...
}
那下面我该怎么叛断冗余
还有我能不能这样用array.GetAt(i).type

fuxf 2003-12-02
  • 打赏
  • 举报
回复
Essential c++
刚才写错了!!!!!!!!!!!!!!!
fuxf 2003-12-02
  • 打赏
  • 举报
回复
C++中有一种类型叫向量.它可以帮助你,不过一般的书好象没有写.
看看effitional C++
keiven 2003-12-02
  • 打赏
  • 举报
回复
你要干什么罗?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧