当前位置: 首页 > article >正文

linux 读取txt文件做为文件路径

在读取txt文件里的文件名时,用作后续文件的路径拼接字符时一定要注意,要把每个txt文件中一些影藏字符给去掉,比如第一个字符为' ',或者是有换行符,一定要去掉,否则就会读取文件失败,还找不到问题在哪。给个txt读取没问题的例子

void Crowdsourcing::Readfiletxt(std::string path, std::vector<std::string>& filemessage)
{
	char buffer[7000];
	std::ifstream in(path.c_str());
	std::vector<std::string> tempsave;
	tempsave.resize(7000);
	int index = 0;
	if (!in.is_open())
	{
		//std::cout << "no swc file" << std::endl;
		in.close();
		return ;
	}
	int nullline = 0;
	while (!in.eof())
	{
		in.getline(buffer, 7000);
		if (buffer[0] == '\0' || buffer == "")
		{
			nullline++;
			if (nullline > 10)
				break;
			continue;
		}
		else
		{
			nullline = 0;
		}
		std::string line = std::string(buffer);
		if (!line.empty())
		{
			int tmpindex = 0;
			int firstindex = -1;
			for (int li = 0; li < line.length(); li++)
			{
				if (line[li] == '\r' || line[li] == ' ')
				{

				}
				else
				{
					if (firstindex == -1)
						firstindex = li;
					tmpindex = li;
				}
			}
			if (firstindex != -1)
				line = line.substr(firstindex, tmpindex + 1);
			else
				continue;

			/*line.erase(0, line.find_first_not_of(" "));
			line.erase(line.find_last_not_of(" ") + 1);
			line.erase(line.find_last_not_of('\r') + 1);*/
		}
		tempsave[index] = line;
		index++;
		if (index >= 7000)
		{
			std::copy(tempsave.begin(), tempsave.end(), std::back_inserter(filemessage));
			tempsave.clear();
			tempsave.resize(7000);
			index = 0;
		}
		//filemessage.push_back(line);
	}
	std::copy(tempsave.begin(), tempsave.begin() + index, std::back_inserter(filemessage));
	in.close();
	return ;
}


http://www.kler.cn/a/500691.html

相关文章:

  • 深度解析 Python 网络框架:Django、Tornado、Flask 和 Twisted
  • MySQL程序之:简要概述
  • C++实现设计模式---单例模式 (Singleton)
  • Android Framework WMS全面概述和知识要点
  • PHP 循环控制结构深度剖析:从基础到实战应用
  • ubuntu22.04 的录屏软件有哪些?
  • 如何在 IDEA 中配置 npm ?
  • springboot使用Easy Excel导出列表数据为Excel
  • 【C++习题】22.随机链表的复制
  • 【AJAX详解】
  • 1-1 电场基本概念
  • Kafka 会丢消息吗?
  • 【赵渝强老师】什么是NoSQL数据库?
  • Redis是单线程还是多线程?
  • 反向代理模块。
  • 通过LlaMA-Factory导出的模型部署到Ollama
  • MySQL的增删改查(基础)-下篇
  • 利用 Java 爬虫获取淘宝商品详情 API 接口
  • spark汇总
  • Springboot3.4整合jsp
  • 通信与网络安全之网络连接
  • 【pycharm发现找不到python打包工具,且无法下载】
  • nginx反向代理及负载均衡
  • EdgeOne安全专项实践:上传文件漏洞攻击详解与防范措施
  • 保证Mysql数据库到ES的数据一致性的解决方案
  • SpringMVC根据url校验权限,防止垂直越权