fwrite(&stud,sizeof(struct stu),1,fp)!=1怎么改为十进制写入文件
时间: 2023-08-28 20:06:43 浏览: 39
如果你想要将十进制数值写入文件中,可以使用fprintf函数来将数据格式化为字符串,并将其写入文件中。下面是一份示例代码,它将一个学生的信息格式化为字符串,并将该字符串写入文件中:
```c
#include <stdio.h>
struct stu {
int id;
char name[20];
int age;
};
int main() {
FILE *fp;
struct stu stud;
fp = fopen("student.txt", "w");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
printf("Enter student ID: ");
scanf("%d", &stud.id);
printf("Enter student name: ");
scanf("%s", stud.name);
printf("Enter student age: ");
scanf("%d", &stud.age);
if (fprintf(fp, "%d %s %d", stud.id, stud.name, stud.age) < 0) {
printf("Failed to write to file.\n");
fclose(fp);
return 1;
}
fclose(fp);
return 0;
}
```
在这个程序中,我们使用了fprintf函数来将数据格式化为字符串,并将该字符串写入文件中。在这里,我们在格式字符串中使用了%d和%s来指定整数和字符串的输出格式。注意,在使用fprintf函数时,需要将文件指针作为第一个参数传递给函数。