#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));
}
}