C -StrnCMP在ObjectArx 2018中不起作用



在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))

最新更新