把txt中的数据读出并保存到数组中

30 篇文章 5 订阅
//以下代码演示如何把txt中的数据,读出并保存到数组中。
#include <fstream>
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <cv.h>
#include <highgui.h>
#include <vector>
#include <iostream>
#include <math.h>

using namespace std;
using namespace cv;

int main()
{
	ifstream infile;
	infile.open("Input2ydata.txt");//打开文件
	if(!infile.is_open())
	{
		cout<<"file open fail"<<endl;
		exit(1);
	}

	double data[1000];          //你的数组
	int n=0;
	char h;
	while(infile>>data[n]>>h)   //输入,数据存在data数组中
	{
		n++;
	}
	infile.close();//关闭文件

	n++;
	for(int i = 0; i < n; i++)
	{
		cout<<data[i]<<",  ";  //显示结果
	}
	cout<<endl;


	//写入自适应长度的数组中
	int length = n;
	int * varArray;
	varArray = new int[n];

	for(int i = 0; i < n; i++)
	{
		varArray[i]=data[i];  //显示结果
	}

	cout<<"varArray:"<<endl;
	for(int i = 0; i < n+10; i++)
	{
		cout<<varArray[i]<<",  ";  //显示结果
	}
	cout<<endl;
	int lengthofvarArray = sizeof(varArray)/sizeof(int);
	cout<<"n="<<n<<endl;
	cout<<"lengthofvarArray:"<<lengthofvarArray<<endl;

	Mat xCurrent(1, n, CV_32F, varArray);       //把系数初始值从数组转为矩阵
	cout<<xCurrent<<endl;

	delete[] varArray;

	system("pause");
	return 0;
}
好的,我可以帮你回答这个问题。下面是Java程序实现的步骤: 1. 创建一个double类型的数组并初始化。 2. 使用Java IO类库的FileWriter类,打开一个指向txt文件的输出流。 3. 将数组中的10个浮点型数据依次写入文件。 4. 关闭输出流。 5. 使用Java IO类库的FileReader类,打开一个指向txt文件的输入流。 6. 读取文件的10个浮点型数据并存入一个double类型的数组中。 7. 循环遍历数组中数据并显示出来。 8. 关闭输入流。 下面是Java的代码实现: ```java import java.io.*; public class SaveAndRead { public static void main(String[] args) { double[] data = {1.23, 4.56, 7.89, 10.11, 12.34, 56.78, 90.12, 3.45, 6.78, 9.01}; // 保存数据文件 try { FileWriter writer = new FileWriter("data.txt"); for (double d : data) { writer.write(String.valueOf(d) + " "); } writer.close(); } catch (IOException e) { System.out.println("写入数据失败:" + e.getMessage()); } // 从文件读取数据并显示 try { FileReader reader = new FileReader("data.txt"); BufferedReader br = new BufferedReader(reader); String line = br.readLine(); String[] strArr = line.split(" "); double[] readData = new double[strArr.length]; for (int i = 0; i < strArr.length; i++) { readData[i] = Double.parseDouble(strArr[i]); System.out.println(readData[i]); } br.close(); reader.close(); } catch (IOException e) { System.out.println("读取数据失败:" + e.getMessage()); } } } ``` 在运行该程序后,你会在控制台看到输出的浮点型数据。同时在程序目录下也会生成一个名为"data.txt"的文本文件,其保存了程序写入的10个浮点型数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值