从char*变量分析文件名
Parse a file name from char * variable
我在字符指针变量中有一个值,该值是动态更改的。
例如
one case:
char *ptr = sometext || abc.txt;
second case:
char *ptr = abc.txt || sometext;
我只需要另一个变量中的文件名。str=abc.txt
目前我使用的代码:
CString str;
char* lpszToToken = stLine.GetBuffer(stLine.GetLength());
char* lpszToken = strtok(lpszToToken, "|");
while(lpszToken != NULL)
{
lpszToken = strtok(NULL, "|");
str = lpszToken;
}
但它仅在第一种情况下起作用:我需要一个genric代码来在这两种情况下运行知道吗?谢谢,
我的C已经生锈了,但为什么不使用类似的东西呢
char* fname = strtok( fileNames, "|");
while (fname != NULL) {
// do something with the file here..
processFile( fname);
fname = strtok( NULL, "|"); // next.
}
此外,匈牙利符号是一种糟糕的编程方式。它有效地隐藏了&混淆了大多数意义,使清晰和简单的问题变得不透明&丑陋的看看我的例子与你提供的gack相比可读性如何?
不幸的是,你的教练(和佩佐德)把这个教错了。我建议写"识字"的代码。
参见:
- 匈牙利符号的好例子
- http://www.joelonsoftware.com/articles/Wrong.html
由于您有可用的CString,您可以使用CString::Find或CSString::Tokenize
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 将数组的地址分配给变量并删除
- C++ 从变量导入文件名
- 从文件名变量中删除".txt"
- C++ - 截断变量文件名中双精度的小数位
- 如何更改变量文件名的文件路径?
- 在 std::string 变量中使用提升库存储文件名
- CLang 3.5 LibTooling:获取CLang::VarDecl中变量的文件名
- 文件名的全局变量
- 带有ifstream和ofstream的变量文件名
- 将变量分配给CreateFile文件名
- 在文件名中插入int变量
- 我可以在 fstream 中使用字符串变量作为文件名吗?C++
- 创建带有 C++ 变量的部分文件名
- 从char*变量分析文件名
- 如何在C++中使用具有文件名的变量(如bash中的$1、$2)
- 我如何实现由用户定义的变量文本文件名,然后从中获得3x3矩阵
- 如何在c++ linux中通过在变量中传递文件名来打开文件
- 如何使用变量作为文件名