65,187
社区成员




#pragma once
#include <vector>
#include <string>
class CTest
{
public:
CTest(void);
~CTest(void);
void readFile(const std::string& vFileName);
std::vector<std::vector<std::string>> getData(){return m_Vec;}
unsigned int getNum();
private:
std::vector<std::vector<std::string>> m_Vec;
unsigned int m_Num;
};
源文件
#include "Test.h"
#include <fstream>
CTest::CTest()
{
m_Num = 0;
}
CTest::~CTest()
{
}
void CTest::readFile(const std::string& vFileName)
{
std::ifstream InFile(vFileName.c_str());
if (InFile.is_open())
{
std::string LenStr;
while (getline(InFile, LenStr))
{
unsigned int Found = 0;
int Pos = 0;
std::vector<std::string> TempVec;
for (unsigned int i=0; i<LenStr.length()/2; ++i)
{
Found = LenStr.find(' ',Pos);
std::string TempData= LenStr.substr(Pos, Found-Pos);
TempVec.push_back(TempData);
Pos = Found +1;
}
m_Vec.push_back(TempVec);
}
}
}
unsigned int CTest::getNum()
{
for (unsigned int i=0; i<m_Vec.size(); ++i)
{
m_Num += m_Vec[i].size();
}
return m_Num;
}
main
#include "Test.h"
#include <iostream>
int main()
{
CTest* Test = new CTest;
Test->readFile("test.txt");
std::vector<std::vector<std::string>> Vec;
Vec = Test->getData();
//显示第几行第几列数据
std::cout << Vec[0][1] << std::endl;
//显示数据的个数
std::cout << Test->getNum() << std::endl;
return 0;
}