c++读取csv

2 篇文章 0 订阅
#include <iostream>
#include <windows.h>         
#include <fstream>
#include <sstream>
#include <vector>

using namespace std;

wstring getAppPath()
{
	wchar_t buffer[MAX_PATH];
	GetModuleFileNameW(NULL, buffer, MAX_PATH);
	wstring::size_type pos = wstring(buffer).find_last_of(L"\\/");
	return wstring(buffer).substr(0, pos);
}

int main()
{
	wstring dirPath = getAppPath();
	wstring filePath = dirPath + L"\\Map.csv";
	ifstream inFile(filePath, ios::in);
	string lineStr;
	getline(inFile, lineStr);
	while (getline(inFile, lineStr))
	{
		cout << lineStr << endl;
		stringstream ss(lineStr);
		string str;
		vector<string> lineArray;
		// 按照逗号分隔  
		while (getline(ss, str, ','))
		{
			lineArray.push_back(str);
		}
        Todo
	}
	getchar();
	system("PAUSE");
}

 MFC读取

WCHAR m_wstrAppPath[1024] = { 0 };
	GetModuleFileName(NULL, m_wstrAppPath, 1024);
	_tcsrchr(m_wstrAppPath, _T('\\'))[0] = 0;//删除文件名,只获得路径
	CString fileName = m_wstrAppPath;
	fileName = fileName + _T("\\Map.csv");
	CStringA fileName1(fileName);
	ifstream inFile(fileName1.GetBuffer(), ios::in);
	string lineStr;
	POINT pnt;
	getline(inFile, lineStr);
	while (getline(inFile, lineStr))
	{
		stringstream ss(lineStr);
		string str;
		vector<string> lineArray;
		// 按照逗号分隔  
		while (getline(ss, str, ','))
		{
			lineArray.push_back(str);
		}
		if (lineArray.size() > 2)
		{
			uint16_t tagID = atoi(lineArray[2].c_str());
			pnt.x = atoi(lineArray[0].c_str());
			pnt.y = atoi(lineArray[1].c_str());
			pntMap.insert(pair<uint16_t, POINT>(tagID, pnt));
		}
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值