c - 写入文件会出现随机字符,为什么?
问题描述
注意:我正在使用 linux(客户端/服务器),这就是我使用 strcpy 的原因。
我有一个包含元素的链表。
我已经实现了一个注册和登录表单。
注册功能工作正常,我将列表的每个元素都保存到文件中。即使登录功能也可以正常工作,主要问题是:在登录功能之后,我正在调用aggiornamento_file(...)
,因为我想在登录后更新一些信息。调用该函数时,文件会更新,并且我确实会在文件末尾获得随机字符。
我究竟做错了什么?
void aggiornamento_file(struct utente *top){
char username[MAX], password[MAX], gettoni[MAX], stato[MAX]="";
int fd;
int checking;
fd = open("utenti.txt", O_WRONLY, S_IRUSR | S_IWUSR);
if(fd==-1){
perror("ERROR apertura file utenti!");
exit(1);
}else{
while(top!=NULL){
strcpy(username, top->username);
strcpy(password, top->password);
sprintf(gettoni, "%d", top->gettoni);
printf("gettoni %s\n", gettoni);
strcpy(stato, top->stato);
size_t us = strlen(username);
write(fd, username, us);
write(fd, "\t", 1);
size_t pa = strlen(password);
write(fd, password, pa);
write(fd, "\t", 1);
size_t ge = strlen(gettoni);
write(fd, gettoni, ge);
write(fd, "\t", 1);
size_t st = strlen(stato);
write(fd, stato, st);
write(fd, "\n", 1);
top=top->next;
}
}
close(fd);
return;
}
提前感谢大家的时间
解决方案
推荐阅读
- r - 创建列表的所有组合的数据框
- cvxpy - 在 cvxpy 0.4.10 但不是 1.0.18 中获得“无法乘以 AFFINE 和 CONVEX”
- android-studio - ExampleInstrumentedTest 出现 java.lang.ClassNotFoundException 错误
- flutter - 继承的小部件和导航抽屉。在 null 上调用了 getter 块
- excel - 根据名称(文本)计算哪个分数更高(值)
- javascript - 将文本上的句子转换为链接
- sql - 插入期间对整数进行 MS SQL 舍入 | VBA
- javascript - 处理来自 JSON 的 POST 数组对象,避免错误 ECONNREFUSED 套接字挂起
- vb.net - 如何在记事本文件中编辑文本框?
- html - 视频 z-index 变换旋转异常行为