Я пытаюсь написать простую строку в файл с C с fwrite()
.fwrite не пишет правильно
Когда я определяю простую строку, как:
char str[]="Hello World!";
и записать его в файл как:
fwrite(str, sizeof(char), sizeof(str), fp);
Все, кажется, работает хорошо.
Но, как я сделать собственную строку с sprintf_s
, выходной файл я получаю:
畒 湮 湩 湁 祬 敺 浉 条 硥 湯 椠 杭 〰⸱ 灪 㩧 爠
Хотя printf
FUNC напечатает строку правильно
Полный код:
#define MAX_ELEMENT_LENGTH 512
void GenerateResultLine(char *resultLineBuffer, int maxLength,
const char *result) {
const char * TEMPLATE= "Running Result: %s";
sprintf_s(resultLineBuffer, maxLength, TEMPLATE, result);
}
void PrintResultToFile(char* exitCode, FILE* resultFile) {
char resultLine[ MAX_ELEMENT_LENGTH ];
GenerateResultLine(resultLine, MAX_ELEMENT_LENGTH, exitCode);
printf("LINE: %s\n",resultLine);
fwrite(resultLine, sizeof(char), sizeof(resultLine), resultFile);
}
Есть ли у кого-нибудь идеи, почему? Благодаря
Какие строки? И как вы помещаете значения в 'str'? – nhgrif
'char * str []' - массив указателей. Наверное, не то, что вы намеревались? – Roddy
это мой 'sprintf' func: – Isaac