在ObjectARX 2018项目中,我们有一个包含以下代码的.c文件:
while(fgetws((wchar_t *)line, 80, fp) != NULL) {
if((!strncmp((const char*)line, "REQ",3)) || (!strncmp((const char*)line,
"ROL",3)) ||
(!strncmp((const char*)line, "NLS",3)) || (!strncmp((const char*)line,
"NDW",3))) {
//Inside If
}
//Outside if
}此while循环正在读取具有以下数据的文件:
ACAD3|14789536|005|其他批量CA & WIRE,CA RK,AUX FR & LTG
请求|G3060901|1
请求|G3060906|1
请求|G3060907|1
请求|G3062062|4
请求|G3062095|1
只有当行以REQ,ROL,NLS,NDW开始时,我们才需要进入。但是我们不能。
这在ObjectARX 2014中是有效的。
谁能告诉我们怎么解决这个问题。
发布于 2017-10-04 15:08:10
wchar_t是,很可能是与char完全不同的东西,而指针的转换只会使编译器静默。如果你处理的是宽字符,可以使用一些函数,比如wcscmp()和friends:
wchar_t *line;
[...]
if ((!wcsncmp(line, L"REQ", 3))https://stackoverflow.com/questions/46558892
复制相似问题