求助一个C或C++的文件编程问题(50)有点急

来源:百度知道 编辑:UC知道 时间:2024/05/09 18:36:59
在一个文件里,有一组数据,怎么将这写数据传送到到一个结构体或者数组中啊,然后再用这个(结构体)数组进行操做.输出到一个文件中.
譬如在一个文件里有:1,2,5.6,7.99.然后将这些数据传送到自己设置的结构体,或数组中.数组对以后的操作很麻烦,最好用结构体,然后在用指针调用.
举个例子:在一个文件里有:2, 5, 6.0, 9.65, 8.8, 12
如果第一个数是2,那么最后2个数复制2遍,然后输出到指定的文件里.
我还有100多积分,都给你们,帮助一下

这不过是基本的C的文件读取而已呀?怎么会这么复杂呢?就比如放数组内。,可以先从文件里面读取出来数据。(此处用循环读取。并且依次赋值给数组的每一个元素)。不就OK?希望你可以说一个具体的问题。我好帮你。。C的读取文件你应该会吧?如果不会。我可以再修改答案把具体读取方法贴出来。

对第一个例子,设立一个结构:
struct Data
{
int a;
int b;
double c;
double d;
}
打开文件后可以这样把数据读入结构:
FILE f;
Data a;
fscanf(f, "%d,%d,%f,%f", &a.a, &a.b, &a.c, &a.d);
对第二个例子,不知道你的例子原来是什么样子的,因此我说一下通常的解决办法。
首先从文件中读取一个数,这个数是命令字,比如你的2。
然后用例子1的方法把后面的数据从文件中读出来。
接着用命令字来操作读出来的数据。
最后把数据写到指定文件。

这个不是很难 我来看看!
我试了,可以运行!开始要建一个aaa.txt文件;输入几个数在里面!

#include <iostream>
#include<fstream>
#include<sstream>
#include<vector>
using namespace std;
void main()
{ float b[100],c[4];//数值最大可存入100个数
ifstream in("aaa.txt");
vector<float> s ;
for(float a;in>>a;)
s.push_back(a);//把文件中数据写入向量s中
cout<<"数组中的数据:";
for(int i=0;i<s.size();i++