Я пытаюсь использовать DLL с компилятором ANSI C. Одна из функций DLL принимает пустой указатель. В некотором примере Windows кода, который был предоставлен с DLL, структура, которая передается функции, определяется как имеющая три объекта CString. Я сказал автору DLL, что они не должны передавать классы MF C через свои функции DLL. Они сказали мне просто заменить объявления CString в структуре на массивы символов, и это должно быть хорошо. Я на 99% уверен, что это неправильно, но так как у меня нет VC ++, и у меня нет опыта работы с MF C, и поскольку я видел некоторые посты, в которых говорится, что LPTSTR можно использовать вместо CString ( Что такое `CString`? ), я начинаю задумываться, не ошибаюсь ли я.
Может ли кто-нибудь подтвердить для меня, что CString и LPTSTR не являются взаимозаменяемыми в качестве аргументов функции? Если вы можете предоставить источник для определения класса CString, это было бы полезно, чтобы я мог отправить его автору DLL и объяснить, что объем памяти массива char не совпадает с классом CString, и вы можете передать указатель на структуру, которая была определена с помощью массивов символов, а затем обработать ее как набор объектов CString.