c语言文件
这个先新建一个file1.bat文件,打入OneWorld,OneDream!可以成功运行,但是出来的file2.bat也大写转换成小写了,但是大约几个空格后出现了乱码烫...
这个先新建一个file1.bat文件,打入 One World,One Dream!可以成功运行,但是出来的file2.bat 也大写转换成小写了,但是 大约几个空格后出现了乱码 烫什么箭头,为什么
展开
1个回答
展开全部
回答你的问题之前,你的程序的循环体设计有错误,while和for只保留一个即可。为了回答主题,我任选一个作为例子,改为:
去掉while,改写for:
for(i=0;i<30 && !feof(fp1); i++)
{ 循环体不变 }
现在回答主题:
因为str在使用前没有初始化为0.fputs使用的是null terminated的字符串,也就是说,最后一个字符是0,表示串结束。你在向str赋值时的代码中并没有为最后一个字符赋值0.有两种改法:
在for循环体之后加一句:此改法意味着你的文件长度只能小于30,如果大于等于30会出错
if(i<30)
str[i]=0;
在for开始前加一句: 这一样要求你的文件长度只能小于30
memset(str,0,30);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询