真心请问,毕设遇到编程困难!

真心请教,毕设遇到编程困难!!!
本人女生,不是计算机学院的,也不太会编程,只学过些简单的c语言,毕设选得题目是纯c++编程,所以真的不会,特此请教大神们!!



我正在做SVM分类器的训练,现在有一个 label.txt文件,是正样本的描述文件,就是像这样的:
#100.png 54 283 48 48
#101.png 243 317 48 48
#102.png 231 48 48 48
#103.png 122 230 48 48
#104.png 98 269 48 48   后边还有好多,我就不沾了。。
现在老师让我把这些数据按行分成两类,一个用作train,,另一个用作test,,就是把这些数据按8比2的比例分别保存到这两个txt中,,所以衷心请教大神们该怎么编程????
谢谢了!!!!
------解决思路----------------------
前面的是图片,用图片做训练,后面的是数据,用来测试么?
就是txt文件解析,类似下面 的解析:

#include "stdafx.h"
#include "SegHuman.h"

#include <iostream>
using namespace std;

SegHuman::SegHuman(const char* path)
{
LoadSEG(path);
}

bool SegHuman::LoadSEG(const char* path)
{
int st = 0;
FILE* pfile = fopen(path, "r");
if (pfile)
{
fseek(pfile,0,SEEK_END);
int dwsize = ftell(pfile);
rewind(pfile);

char* filebuffer = new char[dwsize];
fread(filebuffer, 1, dwsize, pfile);


char* pBegin = filebuffer;
char* pEnd = strchr(filebuffer, '\n');
int uiIndex = 1;

int st = 0;

while (pEnd != NULL)
{

std::string strbuff;
strbuff.insert(0, pBegin, pEnd-pBegin);
if (strbuff.empty())
{
return false;
}

if (st==0) 
{
if (1 == sscanf(strbuff.c_str(),"image %d",&image_index)) st=1;

else if (st==1)
{
if (1 == sscanf(strbuff.c_str(),"width %d",&width)) st=2;
}
else if (st==2)
{
if (1 == sscanf(strbuff.c_str(),"height %d",&height)) st=3;
}
else if (st==3)
{
if (1 == sscanf(strbuff.c_str(),"segments %d",&segments_index)) st=4;
}
else if (st==4)
{
if (1 == sscanf(strbuff.c_str(),"gray %d",&gray)) st=5;
}
else if (st==5)
{
if (0==strcmp(strbuff.c_str(),"data")) st=6;
}
else if (st==6)
{
SEG temp = { -1, -1, -1, -1};
if (4 == sscanf(strbuff.c_str(),"%d %d %d %d",&temp.segment_number, &temp.row, &temp.column_number1 , &temp.column_number2)) 
{
++uiIndex;
MySeg.push_back(temp);

}
}


pBegin = pEnd + 1;
pEnd = strchr(pEnd + 1, '\n');

}
delete[] filebuffer;
fclose(pfile);

vector<SEG>::iterator iter = MySeg.begin();
for (;iter !=MySeg.end(); ++iter)
{
cout<<iter->segment_number<<' ';
cout<<iter->row<<' ';
cout<<iter->column_number1 <<' ';
cout<<iter->column_number2<<' ';
cout<<endl;

}
getchar();

return true;
}

return false;
}


------解决思路----------------------
看libsvm主页的介绍很详细的
------解决思路----------------------
你是学统计的吗?
------解决思路----------------------
8比2  ???
比如有10行.   其中一个文本保存8行, 另一个保存2行?  是这样理解吗?

如果是. 那就是直接按行读取文本, 先计算一遍行数
然后再按8:2比例分别保存到两个文件中.


------解决思路----------------------
CFile::Open/Read/Write()文件不大的话,一次读取到内存中,然后保存到CString,利用CString::Tokenize/Find/Mid/Left/Right等接口得到每行数据。
------解决思路----------------------
只需遍历一次,每次读10条,前两条放到第一部分,后8条放到第二部分,直到完成。然后分别存储即可。