| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 565 人关注过本帖
标题:各位高手帮个忙,看看我哪里写错了!
只看楼主 加入收藏
潇洒地离开
Rank: 2
等 级:论坛游民
帖 子:30
专家分:10
注 册:2010-6-12
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:4 
各位高手帮个忙,看看我哪里写错了!
将字符串中的小写全部换成大写,在放在一个指定文件中。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
    FILE * fp;
    char *p,*q;
    p="ABCabc123";
    q=strupr(p);
    if((fp=fopen("text.txt","w"))==NULL)
    {printf("cannot open the file.");exit(0);}
    while(strlen(q)>0)
    {
        fputs(q,fp);
        fputc('\n',fp);
    }
    fclose(fp);
}
谢谢各位,出错就是弹出一个框直接终止了程序。

[ 本帖最后由 潇洒地离开 于 2010-6-12 16:28 编辑 ]
2010-06-12 16:26
reer
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2010-5-14
收藏
得分:0 
q只有地址,没有分配空间?
2010-06-12 17:14
潇洒地离开
Rank: 2
等 级:论坛游民
帖 子:30
专家分:10
注 册:2010-6-12
收藏
得分:0 
回复 2楼 reer
那怎么改呢?
2010-06-12 17:28
NOMIPS
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:86
专家分:537
注 册:2010-3-31
收藏
得分:20 
以下是引用潇洒地离开在2010-6-12 16:26:35的发言:

将字符串中的小写全部换成大写,在放在一个指定文件中。
#include
#include
#include
void main()
{
    FILE * fp;
    char *p,*q;
    p="ABCabc123";
    q=strupr(p);
    if((fp=fopen("text.txt","w"))==NULL)
    {printf("cannot open the file.");exit(0);}
    while(strlen(q)>0)
    {
        fputs(q,fp);
        fputc('\n',fp);
    }
    fclose(fp);
}
谢谢各位,出错就是弹出一个框直接终止了程序。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    FILE * fp;
    char p[50]="ABCabc123"; /*分配到栈区*/  
    if((fp=fopen("text.txt","w"))==NULL)
    {
        printf("cannot open the file.");
        getchar();
        exit(0);
    }
       
   fprintf(fp,"%s",strupr(p));
   fclose(fp);

   return 0;
}
试图改变指向字符常量区的内容是非法操作。故产生内存错误!!
收到的鲜花
2010-06-13 11:39
潇洒地离开
Rank: 2
等 级:论坛游民
帖 子:30
专家分:10
注 册:2010-6-12
收藏
得分:0 
回复 4楼 NOMIPS
谢谢您!
2010-06-13 11:49
快速回复:各位高手帮个忙,看看我哪里写错了!
数据加载中...
 
   



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

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