在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 loop正在读取具有以下数据的文件:
Acad3 | 14789536 | 005 | Misc Bulk Ca&电线,ca rk,aux fr&LTG
req | g3060901 | 1 |
req | g3060906 | 1 |
req | g3060907 | 1 |
req | g3062062 | 4 |
req | G3062095 | 1 |
仅当行以REQ,ROL,NLS,NDW开头时,我们才需要进入。但是我们无法。
这在Objectarx 2014中工作。
任何人都可以告诉我们如何解决这个问题。
wchar_t
是大多数可能与char
完全不同的东西,并且只施放指针仅使编译器保持沉默。如果您正在处理广泛的炭,那么有功能,例如wcscmp()
和朋友:
wchar_t *line;
[...]
if ((!wcsncmp(line, L"REQ", 3))