Мне дан путь к файлу, который я должен изменить, либо добавить данные в файл, либо переопределить данные в файле .txt.
У меня также есть ограничение, если в строке, на которую указывают данные, 100 символов, а ограничение равно 10, то fprintf должен писать только первые 10 символов.
Кажется, fprintf не принимает такой параметр (лимит). Может ли кто-нибудь предложить мне способ решить эту проблему? Заранее спасибо!
void my_write (char* path, int bytes_number, char* flag, char* data, int sockfd)
{
FILE* fp;
int n, i;
char buffer[BUFFER_SIZE];
if (!strcmp(flag, "override"))
{
fp = fopen(path, "w+"); /* Open file with flag 'w' to override data */
if (fp == NULL) /* File doesn't exist, invalid path*/
write (sockfd, "Failure", strlen("Failure"));
i = fprintf (fp, "%s\n", data);
if (i < 0)
write (sockfd, "Failure", strlen("Failure"));
else
write (sockfd, "Write Success", strlen("Write Success"));
}
rest of code
}