我有下面的代码。我想逐行写入所有新数据,我该怎么做?我的代码工作正常,但它写入的数据彼此相邻。
////////////////////////////////////
char timedate[13];
char USERID[] ="100050";
char *p;
p=fetch_time(); //the function returns a string (char[13])
strcpy(timedate, p);
char log_sensor_event[20];
sprintf(log_sensor_event, "%s %s",timedate, USERID);
FILE *fp2;
fp2=fopen("/home/eagle/Desktop/log_file.txt", "ab");
if(fp2 == NULL){
perror("log_file.txt open failed");
exit(EXIT_FAILURE);
}
write(log_sensor_event, sizeof(log_sensor_event[0]), sizeof(log_sensor_event)/sizeof>(log_sensor_event[0]), fp2);
fputc('\n', fp2);
fclose(fp2);
最佳答案
您创建的字符串没有换行符:
sprintf(log_sensor_event, "%s %s",timedate, USERID);
试试这个:
sprintf(log_sensor_event, "%s\n %s",timedate, USERID);
关于c - 逐行写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390290/