文件处理_保留版_项目中用到

来源:互联网 发布:口袋三国 源码 编辑:程序博客网 时间:2024/05/16 23:02
/**********************************************************************作者:David Bao时间:2012年3月15日描述:读取6个表情特征文本,转成两个arff格式文件,输入到weka测试***********************************************************************/#include <string>#include <stdlib.h>#include <stdio.h>#include <iostream>#include <fstream>#include <sstream>#define N 6using namespace std;void main(){string FileName;char name[30];fstream InFile;ofstream OutFile_train("D:\\1\\W_train.arff");if(OutFile_train.is_open()){cout <<"W_train opened !"<<endl;}ofstream OutFile_test("D:\\1\\W_test.arff");if(OutFile_test.is_open()){cout << "W_test opened !"<<endl;}//训练集******************************************OutFile_train<<"@relation 'FER'"<<endl;char *ch1 = new char;for(int i=1;i<=300;i++){itoa(i,ch1,10);OutFile_train<<"@attribute feature"+string(ch1)+" real"<<endl;}OutFile_train << "@attribute 'class' {angry,disgust,fear,happy,sad,surprise}"<<endl;OutFile_train << "@data" << endl;//测试集******************************************OutFile_test<<"@relation 'FER'"<<endl;char *ch2 = new char;for(int i=1;i<=300;i++){itoa(i,ch2,10);OutFile_test<<"@attribute feature"+string(ch2)+" real"<<endl;}OutFile_test << "@attribute 'class' {angry,disgust,fear,happy,sad,surprise}"<<endl;OutFile_test << "@data" << endl;//遍历6个表情文件*************************************//6个文件for(int i=1; i<=N; i++){itoa(i,name,10);FileName = string("C:\\Users\\user\\Desktop\\data2\\")+name;FileName += string(".txt");//cout << FileName.c_str() <<endl;InFile.open(FileName.c_str(),ios::in);if(InFile.is_open()){cout <<FileName.c_str()<<"已打开啦!"<<endl;}//每个文件有600行string line;int HangHao=0;bool flag = true;while(getline(InFile,line)){HangHao++;istringstream stream(line);string word;if(flag){while(stream >> word){OutFile_train << word.c_str() << ",";}}else{while(stream >> word){OutFile_test << word.c_str() << ",";}}if(HangHao%30==0){if(flag){switch(i){case 1:OutFile_train << "angry"<<endl;break;case 2:OutFile_train << "disgust"<<endl;break;case 3:OutFile_train << "fear"<<endl;break;case 4:OutFile_train << "happy"<<endl;break;case 5:OutFile_train << "sad"<<endl;break;case 6:OutFile_train << "surprise"<<endl;break;}}else{switch(i){case 1:OutFile_test << "angry"<<endl;break;case 2:OutFile_test << "disgust"<<endl;break;case 3:OutFile_test << "fear"<<endl;break;case 4:OutFile_test << "happy"<<endl;break;case 5:OutFile_test << "sad"<<endl;break;case 6:OutFile_test << "surprise"<<endl;break;}}flag = (!flag);}}InFile.close();InFile.clear();}OutFile_train.close();OutFile_test.close();system("pause");}