当我使用fwrite将数据添加到文件时,将int值插入为随机字符

发布于 2025-01-21 12:40:40 字数 1270 浏览 0 评论 0原文

我正在尝试在cajeros.dat文件中写入用户将用户设置为ACTU变量的值,该值是struct类型。我没有任何错误,但是当我检查文件时,诸如“ cod_cajero”和“ den_menor”和“ den_mayor”之类的int值像文件中的某些随机字符一样显示。这是一个例子:

D el bravosantiago≥

“ el bravo”和“ santiago”是正确插入的char值,但“ D”实际上是100和“”是其他数字。有人可以帮我吗?我真的很感激

int actualizarcajeros();

struct e_cajeros{
    
    int cod_cajero;
    char ubicacion[20];
    char ciudad[20];
    int den_menor;
    int den_mayor;
    
} actu;

int cajeros(){
    int opcion1;
    int consultarcajeros();
    
        while(1){
        printf("Menu Cajeros\n1.Actualizar.\n2.Consultar.\n3.Finalizar\n");
        scanf("%d",&opcion1);
        
        if(opcion1==1){
        
        actualizarcajeros();
        }
        
        
        }
    
}
actualizarcajeros(){
    FILE *fp;
    fp=fopen("cajeros.dat","a");
    printf("ingresa el codigo del cajero");
    scanf("%d",&actu.cod_cajero);
    printf("ingresa la ubicacion del cajero");
    gets(actu.ubicacion);   
    printf("ingresa el ciudad del cajero");
    gets(actu.ciudad);
    printf("ingresa la denominacion menor");
    scanf("%d",&actu.den_menor);
    printf("ingresa la denominacion menor");
    scanf("%d",&actu.den_mayor);
    fwrite(&actu,sizeof(actu),1,fp);
    fclose(fp);
}

I am trying to write in the cajeros.dat file the values that the user set to the actu variable which is a struct type. I don't get any error but when I check the file, the int values like "cod_cajero" and "den_menor" and "den_mayor" show like some random characters in the file. This is an example:

d El bravo Santiago ¸ýf

"El bravo" and "Santiago" are char values which were inserted correctly but "d" was actually a 100 and "¸ýf" were some other numbers. Can someone help me? I would really appreciate it

int actualizarcajeros();

struct e_cajeros{
    
    int cod_cajero;
    char ubicacion[20];
    char ciudad[20];
    int den_menor;
    int den_mayor;
    
} actu;

int cajeros(){
    int opcion1;
    int consultarcajeros();
    
        while(1){
        printf("Menu Cajeros\n1.Actualizar.\n2.Consultar.\n3.Finalizar\n");
        scanf("%d",&opcion1);
        
        if(opcion1==1){
        
        actualizarcajeros();
        }
        
        
        }
    
}
actualizarcajeros(){
    FILE *fp;
    fp=fopen("cajeros.dat","a");
    printf("ingresa el codigo del cajero");
    scanf("%d",&actu.cod_cajero);
    printf("ingresa la ubicacion del cajero");
    gets(actu.ubicacion);   
    printf("ingresa el ciudad del cajero");
    gets(actu.ciudad);
    printf("ingresa la denominacion menor");
    scanf("%d",&actu.den_menor);
    printf("ingresa la denominacion menor");
    scanf("%d",&actu.den_mayor);
    fwrite(&actu,sizeof(actu),1,fp);
    fclose(fp);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文