最近忙于编写餐厅服务机器人程序,现在用到机器人记忆功能,于是自学啦几天数据保存与读取。俺把这几天学到的一点经验发出来,供吧友参考。
C++编写的程序,向硬盘写入TXT数据源代码。
/*******************************
**********保存数据到硬盘*******
********************************/
#include <fstream>
int main()
{
std::ofstream outFile;
outFile.open("F:\\Test.txt");//打开F盘下的TXT文件
int arr[18] = {1,2,3,4,5,6,7,8,9,10,11,12,13,1,15,16,17,18};
int i,j;
for(j=0;j<3;j++ ) {
for(i = 6*j; i <(6*j+6); i++)
{
outFile << arr[i]<<" "; //写入数据,每个数据后留空格以便以后读取数据分割。
}
outFile <<"\n"; //每次输入完六个数据就换下一行
}
outFile.close(); //关闭文件
return 0;
}
C++编写的程序,从硬盘读取TXT数据源代码。
/**********************************************************************
*******读取TXT数据,以空格分开单个数据***********************
*******************************************************************/
#include"string.h"
#include<iostream>
#include<sstream>
#include<fstream>
#include<vector>
using namespace std;
int main() {
ifstream fin("F:\\Test.txt"); //打开F盘下的TXT文件
string line_info,input_result;
vector<string> vectorString;
if(fin) // 如果有该文件
{
int n=0; //分单行取出TXT数据的行次数
while (getline (fin, line_info)) // line中不包括每行的换行符
{
stringstream input(line_info);
//依次输出到input_result中,并存入vectorString中
cout<<"line_info: "<<line_info<<endl;
while(input>>input_result) vectorString.push_back(input_result);
for(int j=6*n;j<vectorString.size();j++) {
cout<<vectorString[j]<<endl;
}
n=n+1;
}
}
else // 没有该文件
{
cout<<"no such file"<<endl;
}
int k;
cout<<"请输入任意数字后,回车退出"<<endl;
cin>>k;
}
C++编写的程序,向硬盘写入TXT数据源代码。
/*******************************
**********保存数据到硬盘*******
********************************/
#include <fstream>
int main()
{
std::ofstream outFile;
outFile.open("F:\\Test.txt");//打开F盘下的TXT文件
int arr[18] = {1,2,3,4,5,6,7,8,9,10,11,12,13,1,15,16,17,18};
int i,j;
for(j=0;j<3;j++ ) {
for(i = 6*j; i <(6*j+6); i++)
{
outFile << arr[i]<<" "; //写入数据,每个数据后留空格以便以后读取数据分割。
}
outFile <<"\n"; //每次输入完六个数据就换下一行
}
outFile.close(); //关闭文件
return 0;
}
C++编写的程序,从硬盘读取TXT数据源代码。
/**********************************************************************
*******读取TXT数据,以空格分开单个数据***********************
*******************************************************************/
#include"string.h"
#include<iostream>
#include<sstream>
#include<fstream>
#include<vector>
using namespace std;
int main() {
ifstream fin("F:\\Test.txt"); //打开F盘下的TXT文件
string line_info,input_result;
vector<string> vectorString;
if(fin) // 如果有该文件
{
int n=0; //分单行取出TXT数据的行次数
while (getline (fin, line_info)) // line中不包括每行的换行符
{
stringstream input(line_info);
//依次输出到input_result中,并存入vectorString中
cout<<"line_info: "<<line_info<<endl;
while(input>>input_result) vectorString.push_back(input_result);
for(int j=6*n;j<vectorString.size();j++) {
cout<<vectorString[j]<<endl;
}
n=n+1;
}
}
else // 没有该文件
{
cout<<"no such file"<<endl;
}
int k;
cout<<"请输入任意数字后,回车退出"<<endl;
cin>>k;
}