| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1192 人关注过本帖
标题:关于const变量的赋值问题
只看楼主 加入收藏
dapeng83
Rank: 1
来 自:河南
等 级:新手上路
帖 子:26
专家分:5
注 册:2009-11-12
结帖率:63.64%
收藏
已结贴  问题点数:17 回复次数:2 
关于const变量的赋值问题
我用的是TC2.01英文版,我用const char *pfile = "f:\\maydata.bin";进行初始化时,却发现编译系统提示pfile指针悬挂了,也就是没能给*pfile赋值,我想知道什么原因,以下是我的原程序:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define    MAXLEN     30

void listfile(char *filename);

int main(void)
{
    const    char         *filename = "f:\\mydata.bin";

    char            name[MAXLEN];
    size_t                  length = 0;
    int            age = 0;
    char            answer = 'y';

    FILE             *pFile = fopen(filename,"wb+");

    do
    {
        fflush(stdin);

        printf("\nenter a name less than %d characters:",MAXLEN);
        gets(name);

        printf("enter the age of %s:",name);
        scanf(" %d",&age);

        length = strlen(name);
        fwrite(&length,sizeof(length), 1 ,pFile);
        fwrite(name,sizeof(char),length,pFile);
        fwrite(&age,sizeof(age), 1 ,pFile);
        printf("do you want to enter another (y or n)?");
        scanf("\n%c",&answer);

    }while(tolower(answer) == 'y');

    fclose(pFile);

    listfile(filename);

    return 0;
}

void listfile(char *filename)
{
    size_t        length = 0;
    char         name[MAXLEN];
    int         age = 0;
    char         format[20];
    FILE        *pFile = NULL;
    sprintf(format,"\n%%-%ds age:%%4d",MAXLEN);

    /*FILE        *file = NULL;*/
    pFile = fopen(filename,"rb");
    printf("\nthe contents of %s are:",filename);

    while(fread(&length,sizeof(length), 1 ,pFile) == 1)
    {
        if(length+1>MAXLEN)
        {
            printf("\nname too long.");
            exit(1);

        }
        fread(name,sizeof(char),length,pFile);
        name[length] = '\0';
        fread(&age,sizeof(age), 1 ,pFile);
        printf(format,name,age);
    }
    fclose(pFile);
}谢谢各位给我解答。
搜索更多相关主题的帖子: const 变量 赋值 
2010-09-16 22:36
cacker
该用户已被删除
收藏
得分:17 
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-16 23:24
dapeng83
Rank: 1
来 自:河南
等 级:新手上路
帖 子:26
专家分:5
注 册:2009-11-12
收藏
得分:0 
冤枉,我上机试了下,确实不行啊,如果加了const,就不能通过,不加就可以了。你上机试了吗,tc2.01英文版的。确实不能过啊。
2010-09-17 22:59
快速回复:关于const变量的赋值问题
数据加载中...
 
   



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

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