#c #file #java-native-interface
#c #файл #java-native-interface
Вопрос:
В настоящее время у меня есть этот код:
const char *writeStringToFile = (*env)->GetStringUTFChars(env, string, 0);
writeToFile(writeStringToFile);
(*env)->ReleaseStringUTFChars(env, string, writeStringToFile);
void writeToFile(const char *string) {
FILE *f = fopen("Spieler.txt", "w");
if (f == NULL) {
printf("Error opening file!n");
exit(1);
}
fprintf(f, string);
fclose(f);
}
Я хочу записать это в свой файл, но ''
он отсутствует.
Итак, есть ли способ добавить » к строке?
Невозможно преобразовать что-либо в const, так каков наилучший способ решить эту проблему?
Комментарии:
1. Разве вы не можете просто скопировать строку const во вновь выделенную строку, которая на байт длиннее, которая содержит
''
конец?2. Что, черт возьми, такое jstring ?
3. Я использую
JNI
, а jstring является параметром4. Обычно в файл не записывается ».
5. Не делайте привычку делать
fprintf(f, string);
, wherestring
задается извне. Что, если в какой-то моментstring
случайно (или нет …) появятся спецификаторы преобразования. Использоватьfputs
.