| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 670 人关注过本帖, 1 人收藏
标题:数组was corrupted,没有越界。
取消只看楼主 加入收藏
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
结帖率:91.43%
收藏(1)
已结贴  问题点数:20 回复次数:3 
数组was corrupted,没有越界。
程序代码:

......
void main_1(int * n_file_, FILE * open, FILE ** file)
{
    //    FILE *file[9] = { write_8, write_9, write_10, write_11, write_12, write_13, write_14, write_15, write_16 };
    char temp[40];
//    char *temp = (char *)malloc(sizeof(char)* 40);
    int i,j=0,lenth=0,count=0;
    while (!feof(open))//判断是否到文件尾部
    {
        if (j == 0)
            count++;

//        if (count ==5950275)
//            system("pause");
//        printf("%d\t",count);
        j = 0;
        fscanf(open, "%s ", temp);//从文件读取一个字符串
        i = length(temp);//根据字符串长度确定输入哪一个文件,若返回值为0,则跳过这个字符串
        if (i == 100)//
        {
            count--;
            j = 1;
        }
        else
            lenth = i;
        if (lenth == 0)
            continue;
    
        else if (lenth < 9)//写入对应的文件
        {
            file_write(temp, file[0],j);
            n_file_[0]++;
        }
        else if (lenth>15)
        {
            file_write(temp, file[8],j);
            n_file_[8]++;
        }
        else
        {
            file_write(temp, file[lenth - 8],j);
            n_file_[lenth - 8]++;
        }
    }
//就是这个地方
}


当count=5950276时出错:
Program:**\.exe
Module:**\.exe
File:
Run-Time Check Failure #2-Stack around the variable 'temp' was corrupted

看了下数组没有越界。在“就是这个地方”停了下来。查了资料,改了project->配置属性->c/c++->代码生成->基本运行时检查 设置为默认值,但是没有用,只是不出现提示框,到了这个值仍然出错。
搜索更多相关主题的帖子: file 
2015-01-23 11:55
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 2楼 TonyDeng
temp里面存的是字符串,strlen是存的字符串长度,便于分类,根据长度存入哪一个文件。==100是一个补充输入的判断。
count是用来计数的,方便找在哪一步出错。
2015-01-23 14:35
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 4楼 TonyDeng
也就是还是temp越界了?
2015-01-23 14:44
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 6楼 TonyDeng
真的是越界了,不过在好之前就越界了。
这个是做一个特征统计的一个部分
2015-01-23 15:02
快速回复:数组was corrupted,没有越界。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018069 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved