c - 归档结构/C

标签 c file struct

我在填写信息后出现错误。我不知道我在哪里犯了错误。我想通过结构获取信息,然后保存在 biodata.txt 文件中。这只是为了开始我的程序,然后我将添加“删除编辑搜索”选项。

#include <stdio.h>
#include <conio.h>

struct biodata{
       int recno,age;
       char name[20],sex;
       float salary;
}obj;

int main(){
    int addData();
    int showRecord();
    char choice;

    while(1){
        printf("\n\n*****CHOOSE YOUR CHOICE*****\n");
        printf("1) ADD DATA\n");
        printf("2) SHOW RECORD\n");
        printf("Enter your choice : ");

        choice = getche();
        switch(choice){
            case '1' :  
                addData();
                break;
        }
    }
}

int addData(){
     FILE *fp;
     fp = fopen("biodata.txt","w+");

     printf("\n*****ADDING DATA*****\n");
     printf("\nEnter Record No : ");
     scanf("%d",&obj.recno);
     printf("Enter Name : ");

     scanf("%s",obj.name);
     printf("Enter age : ");
     scanf("%d",&obj.age);

     printf("Enter Sex : ");
     scanf("%s",obj.sex);

     printf("Enter Salary : ");
     scanf("%f",&obj.salary);
     fwrite(&obj,sizeof(obj),1,fp);

     fclose(fp);
}

最佳答案

你正在做:

printf("Enter Sex : ");
scanf("%s",obj.sex);

但是obj.sex是char类型的:

struct biodata{
        int recno,age;
        char name[20],sex;
        float salary;
}obj;

将 scanf 更改为:

scanf("%c",&obj.sex);

关于c - 归档结构/C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10581483/

相关文章:

c++ - 我可以检索使用 Conan 包管理器打包的库的源代码以便能够在其中进行调试吗?

使用realloc的C结构内存分配

linux - (Linux) 如何将文件传递给应用程序?

c - 使用函数将文本文件读入结构数组

c++ - 类类型错误 C++ with struct

c - 为什么我的 C 程序不能正常工作?

c - 使用 printf() 时 Spi 中断处理程序起作用

我可以拦截 C 中的全局指针初始化吗?

android - 如何在android中进行AES解密,而不将解密文件写入SD卡存储?

c - 如何在不更改内容的情况下更新文本文件