在Project48.exe中的0x7B639D4E (ucrtbased.dll)处抛出异常:0xC0000005。访问违规写入位置 0xCCCCCCCC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Project48.exe中的0x7B639D4E (ucrtbased.dll)处抛出异常:0xC0000005。访问违规写入位置 0xCCCCCCCC相关的知识,希望对你有一定的参考价值。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Employee
{
    int id;
    char name[20];
    char position[20];
    int salary;
    int dateofjoin;
    char address[20];
};

int main()
{
    struct Employee a[5], b[5];
    FILE* fptr;
    int i;
    fptr = fopen("file.txt", "wb");
    for (i = 0; i < 3; ++i)
    {
        fflush(stdin);
        printf("
Enter ID: ");
        scanf("%d", &a[i].id);
        printf("
Enter name: ");
        scanf("%s",&a[i].name);
        printf("
Enter Position/Designation: ");
        scanf("%s",&a[i].position);
        printf("
Enter Salary: ");
        scanf("%d", a[i].salary);
        printf("
Enter DateOfJoining: ");
        scanf("%d", a[i].dateofjoin);
        printf("Enter Address: ");
        scanf("%s",&a[i].address);
    }
    fwrite(a, sizeof(a), 1, fptr);
    fclose(fptr);
    fptr = fopen("file.txt", "rb");
    fread(b, sizeof(b), 1, fptr);
    for (i = 0; i < 3; ++i)
    {
        printf("
ID: %d 	Name: %s 	Position/Designation: %s Salary: %d	DateOfJoining: %d	Address: %s", b[i].id, b[i].name, b[i].position, b[i].salary, b[i].dateofjoin,
            b[i].address);
    }
    fclose(fptr);
}

我的程序总是在输入工资后崩溃,我甚至尝试了#define _CRT_SECURE_NO_WARNINGS,以避免错误,但它是没有用的,希望我能尽快解决我的问题,请在你回复时解释,因为这对我来说是一种任务。

答案

在你的 scanf("%d", a[i].salary); &前缺失。a[i].salary

以上是关于在Project48.exe中的0x7B639D4E (ucrtbased.dll)处抛出异常:0xC0000005。访问违规写入位置 0xCCCCCCCC的主要内容,如果未能解决你的问题,请参考以下文章

在运行时通过 java 中的命令提示符加载配置文件(project.properties)

MongoDB:如何将仅出现在 $project 中的字段相乘?

MongoDB 聚合中的多个 $project 阶段是不是会影响性能

project和module的关系?

eclipse中的.project 和 .classpath文件的具体作用

隐藏IDEA project 中的指定文件