ฉันได้รับเส้นทางไปยังไฟล์ที่ฉันควรแก้ไข ไม่ว่าจะเพิ่มข้อมูลลงในไฟล์ หรือแทนที่ข้อมูลใน file.txt
ฉันยังได้รับขีดจำกัดด้วย หากมี 100 ตัวอักษรในสตริงที่ชี้โดย data และขีดจำกัดคือ 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
}