Добавить символ char к jstring в C

#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); , where string задается извне. Что, если в какой-то момент string случайно (или нет …) появятся спецификаторы преобразования. Использовать fputs .