У меня есть страница информационно Строки Когда содержание находится в JNI (каст дллы) я могу видеть все содержимое, однако, когда мы видим ту же строку в Java , последнее слово обрезается/усекается. Поэтому, чтобы отлаживать, я пытаюсь записать содержимое в JNI в файл txt журнала.последнего слова получения обрежется/усечена в JNI
JNIEXPORT jstring JNICALL Java_com_native_ExeCOM_GetResultDetails
(JNIEnv *env, jclass obj)
{
_bstr_t bstrIntermediate(execution->GetResultDetails());
//WriteContentToLog((LPCTSTR)bstrIntermediate); //Able to write this to log (no loss)
CString strFinal;
strFinal.Format(_T("%s"), (LPCTSTR)bstrIntermediate);
//WriteContentToLog((LPCTSTR)strFinal); //Able to write this to log (no loss)
return env->NewStringUTF(strFinal);
}
using namespace std;
#define FILE "C:\\Temp\\debug.txt"
ofstream DEBUG_STRM;
void WriteContentToLog(const std::string &msg){
DEBUG_STRM.open (FILE,fstream::app);
DEBUG_STRM <<msg<<"\n"; DEBUG_STRM.close();
}
После jstring возвращается, если мы проанализируем то же самое со стороны Java, последнее слово из содержания становится обрезается/усеченный.
Я хочу посмотреть, происходит ли какое-либо усечение в последней строке. «env-> NewStringUTF (strFinal)». 1. Могу ли я написать содержимое, возвращенное последней строкой, в файл журнала? 2. Почему только последнее слово усекается (как я проверял размер)?
Может кто-нибудь мне помочь.
Может быть связано с отсутствием потока "flush()" выходного потока? – smallworld
попробовал флеш(), не очень помог. – user1782807
Просьба привести пример ожидаемых данных и то, что усекается. –