次のような配列が 1 つあります。
static WCHAR FilesToShow[][100] = { { L"start.cmd" },{ L"image.xml" }, { L"xyz" }};
ご覧のとおり、"xyz" があり、これを一意の名前に置き換える必要があります。このためには、image.xml ファイルを読み取る必要があります。
どうすればこれができるか教えてください。
私はこのような方法を書きました:
PRIVATE WCHAR GetSystemName(WCHAR *pName)
{
WCHAR line;
wfstream in("image.xml");
WCHAR tmp;
bool begin_tag = false;
while (getline(in,line))
{
// strip whitespaces from the beginning
for (int i = 0; i < line.length(); i++)
{
if (line[i] == ' ' && tmp.size() == 0)
{
}
else
{
tmp += line[i];
}
}
if (wcswcs(tmp,"<SystemPath>") != NULL)
{
???????? how to get "vikash" from here <SystemPath>C:\Users\rs_user\Documents\RobotStudio\Systems\vikash</SystemPath>
}
else
{
continue;
}
}
return tmp;
}
wfstream、getline、および line.length() メソッドで例外が発生します。fstream.h ヘッダー ファイルをインクルードしましたが、COM ではサポートされていないと思います。
xml ファイルを解析せずにこの問題を解決する方法を教えてください。