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 читает файл со следующими данными:

ACAD3 | 14789536 | 005 | MISC BULK CA & WIRE, 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.

Кто-нибудь может сказать нам, как решить эту проблему.

1 ответ

wchar_t скорее всего, что-то совершенно другое, чем char и приведение указателя только заставляет компилятор замолчать. Если вы имеете дело с широкими символами, для этого есть функции, например: wcscmp() и друзья:

 wchar_t *line;
 [...]
 if ((!wcsncmp(line, L"REQ", 3))
Другие вопросы по тегам