鱼C论坛

 找回密码
 立即注册
查看: 1310|回复: 11

[已解决]vs2022这个报错怎么解决.....

[复制链接]
发表于 2023-7-10 12:34:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
C语言的统计代码行数,第一次在VS 2022上运行,然后报错这个问题
0x00007FFCB0FFFAAD (ntdll.dll) (Project1.exe 中)处有未经处理的异常: 0xC0000005: 写入位置 0x0000000069D453F0 时发生访问冲突。
最佳答案
2023-7-10 12:45:06
本帖最后由 歌者文明清理员 于 2023-7-10 12:46 编辑
Fertig 发表于 2023-7-10 12:40
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include


这个错误是访问冲突引起的,可能是由于文件路径或文件名长度超过了系统限制。你可以试试以下解决方法:

  • 确保文件路径和文件名没有超过系统限制的长度(通常为260个字符)。
  • 检查文件路径和文件名中是否包含非法字符,如空格或特殊字符。尽量避免在路径和文件名中使用中文字符或其他非ASCII字符。
  • 确保你有足够的权限来访问文件。尝试使用管理员身份运行程序。
  • 更新你的编译器和相关的库文件。确保使用的是最新版本,并且与你的操作系统兼容。
  • 重新安装 Visual Studio。有时候损坏的安装文件会导致此类问题。

6. 使用gcc:https://fishc.com.cn/thread-224194-1-1.html
如果以上方法都没有解决问题,提供更多的细节和错误信息(如图片),以便其他人能够更好地理解和解决你的问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-10 12:34:41 | 显示全部楼层
运行时错误 0xC0000005 通常表示访问冲突或内存访问错误。在处理这个问题时,可以尝试以下几种解决方法:

1. 检查代码中是否存在空指针或无效的内存访问。确保所有指针都被正确初始化,并且在使用之前进行了有效性检查。

2. 检查是否存在数组越界访问。确保在访问数组元素时不会超出数组的界限。

3. 检查是否存在堆栈溢出。如果使用大型数据结构或递归算法,请确保递归深度合理,并避免无限递归。

4. 检查代码中是否有悬空的指针或已释放的内存。确保在释放内存后不再访问已释放的内存块。

5. 检查是否有其他外部因素导致访问冲突,例如在多线程环境中共享的全局变量或资源。请注意同步和互斥访问,以避免竞争条件。

此外,您还可以尝试以下方法来调试和排除该错误:

1. 尝试使用调试模式运行程序,以便更详细地了解发生错误的具体位置。使用调试器可以帮助您跟踪和定位问题。

2. 如果可能的话,尽量缩小代码的范围,以确定问题所在。可以逐步注释掉代码段,或者创建一个最小化的可复现示例来定位问题。

3. 检查是否有任何第三方库或插件可能导致冲突。尝试升级或更改库的版本,或者禁用临时插件,看看问题是否解决。

4. 如果问题只出现在特定输入或特定条件下,请检查输入数据的有效性,以确保没有异常情况导致访问冲突。

请注意,以上方法仅供参考,具体解决方法可能因情况而异。如果问题仍然存在,建议您提供更多的代码片段和详细信息,以便能够更准确地诊断和解决问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 12:35:46 | 显示全部楼层
你的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-10 12:40:32 | 显示全部楼层

#define _CRT_SECURE_NO_WARNINGS 1
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX        256

long total;

int countLines(const char* filename);
void findAllCodes(const char* path);
void findALLFiles(const char* path);

int countLines(const char* filename)
{
    FILE* fp;
    int count = 0;
    int temp;

    if ((fp = fopen(filename, "r")) == NULL)
    {
        fprintf(stderr, "Can not open the file:%s\n", filename);
        return 0;
    }

    while ((temp = fgetc(fp)) != EOF)
    {
        if (temp == '\n')
        {
            count++;
        }
    }

    fclose(fp);

    return count;
}
void findAllCodes(const char* path)
{
    struct _finddata_t fa;
    long handle;
    char thePath[MAX], target[MAX];

    strcpy(thePath, path);
    if ((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
    {
        do
        {
            sprintf(target, "%s%s", path, fa.name);
            total += countLines(target);

        } while (_findnext(handle, &fa) == 0);


    }
    _findclose(handle);

}

void findALLDirs(const char* path)
{
    struct _finddata_t fa;
    long handle;
    char thePath[MAX];

    strcpy(thePath, path);
    if ((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
    {
        fprintf(stderr, "The path %s is wrong!\n", path);
        return;


    }
    do
    {
        if (!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
            continue;

        if (fa.attrib == _A_SUBDIR)
        {
            sprintf(thePath, "%s%s", path, fa.name);
            findAllCodes(thePath);
            findALLDirs(thePath);
        }
    } while (_findnext(handle, &fa) == 0);

    _findclose(handle);
}


int main()
{
    char path[MAX] = ".";

    printf("计算中...\n");

    findAllCodes(path);
    findALLDirs(path);


    printf("目前你总共写了 %ld 行代码!\n\n", total);
    system("pause");


    return 0;


}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 12:45:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 歌者文明清理员 于 2023-7-10 12:46 编辑
Fertig 发表于 2023-7-10 12:40
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include


这个错误是访问冲突引起的,可能是由于文件路径或文件名长度超过了系统限制。你可以试试以下解决方法:

  • 确保文件路径和文件名没有超过系统限制的长度(通常为260个字符)。
  • 检查文件路径和文件名中是否包含非法字符,如空格或特殊字符。尽量避免在路径和文件名中使用中文字符或其他非ASCII字符。
  • 确保你有足够的权限来访问文件。尝试使用管理员身份运行程序。
  • 更新你的编译器和相关的库文件。确保使用的是最新版本,并且与你的操作系统兼容。
  • 重新安装 Visual Studio。有时候损坏的安装文件会导致此类问题。

6. 使用gcc:https://fishc.com.cn/thread-224194-1-1.html
如果以上方法都没有解决问题,提供更多的细节和错误信息(如图片),以便其他人能够更好地理解和解决你的问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 12:52:36 | 显示全部楼层
歌者文明清理员 发表于 2023-7-10 12:45
这个错误是访问冲突引起的,可能是由于文件路径或文件名长度超过了系统限制。你可以试试以下解决方法: ...

wow
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 12:53:12 | 显示全部楼层


                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 12:54:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 12:54:33 | 显示全部楼层

哦哦哦你说什么我听不见
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 12:55:09 | 显示全部楼层
歌者文明清理员 发表于 2023-7-10 12:54
哦哦哦你说什么我听不见

哦,不跟残疾人说话OKOL
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 13:13:18 | 显示全部楼层
sfqxx 发表于 2023-7-10 12:55
哦,不跟残疾人说话OKOL

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-10 13:37:23 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 08:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表