C++ vector与数组转换写入/读出文件(十八)
2023-09-14 09:09:58 时间
1.代码示例
#include <iostream>
#include <fstream>
#include <string.h>
#include <vector>
using namespace std;
template <class T> int compute_array_len(T &arr){
int len = sizeof(arr)/sizeof(arr[0]);
return len;
}
int main(){
float f_arr[]={0.0353853,0.0463009,-0.00107202,-0.0329376,-0.0352677,-0.0548481,-0.0023105};
int num = compute_array_len(f_arr);
int len = sizeof(float) * num;
vector<float> vec;
{//1.把float数组插入到vector<float>
for(int i = 0; i < num; i++)
vec.push_back(f_arr[i]);
}
{//2.auto遍历
cout <<"v: ";
for(auto v : vec)
cout << v << " ";
cout << endl;
}
{//3.iterator迭代器遍历
cout << "itr: ";
for(vector<float>::iterator itr = vec.begin(); itr != vec.end(); itr++)
cout << *itr << " ";
cout << endl;
}
cout << "vec.size = " << vec.size() << endl;
float da[vec.size()] = {0};
{
//4.把vector<float>遍历赋值给数组,然后写入文件
for(int i = 0; i < vec.size(); i++){
da[i] = vec[i];
cout << "da["<< i << "] = " << da[i] << " ";
}
cout << endl;
}
float b[num];
//1.write file
ofstream ouF;
ouF.open("test.txt", ios::binary);
ouF.write((const char*)da, len);//写入文件
ouF.close();
//2.read file
ifstream inF;
inF.open("test.txt", ios::binary);
inF.read((char *)b, len);
inF.close();
for(int i = 0; i < num; i++){
cout<<"read file: " << b[i] << " ";
}
cout << endl;
return 0;
}
相关文章
- EasyC++69,转换函数
- C++ int与string的相互转换(含源码实现)
- C语言辗转相除法求最大公约数_辗转相除法c++
- C++STL容器deque
- C++构造函数的作用_c++什么是构造函数
- C++stl库_c++库
- c++禁止隐式转换_无法将int隐式转换为类
- C++结构体和类的区别_c++有结构体吗
- C++字符串加密_c++字符串连接函数
- c++的链表-C++链表
- C/C++ 简易异或加密的分析
- Xmake v2.7.3 发布,包组件和 C++ 模块增量构建支持
- 【C++ 语言】类型转换 ( 转换操作符 | const_cast | static_cast | dynamic_cast | reinterpret_cast | 字符串转换 )
- 【C++】日期类的实现
- c++基础篇之C++ 模板
- 栈的存储结构的实现(C/C++实现)详解编程语言
- 什么是常量,C++常量及用法(无师自通)
- C++数据类型(强制)转换详解
- 基于C++中常见编译错误的总结详解
- 用标准c++实现string与各种类型之间的转换
- c++与c#的时间转换示例分享
- C++基于DirectxMMX实现的图像灰度转换代码
- C++中基类和派生类之间的转换实例教程