C++从文件中读取数据存入数组,并计算数组长度

li18983233416 2015-12-20 02:25:59
比如有一列数据放在E:\\data.txt文件中,现在需用实现用C++读取这串数据,存放如数组中,并计算数组的长度
...全文
524 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
_鹿鹿鹿 2015-12-20
  • 打赏
  • 举报
回复
昨天写的,应该可以给你用。 头文件
#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;
}
li18983233416 2015-12-20
  • 打赏
  • 举报
回复
请给详细的代码,谢谢
paschen 版主 2015-12-20
  • 打赏
  • 举报
回复
文件中存的都是字符,可以读入按空格分割后转成相应格式存入数组
li18983233416 2015-12-20
  • 打赏
  • 举报
回复
一串字符可以么

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧