| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:求解惑,关于strlen和fgets
只看楼主 加入收藏
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
求解惑,关于strlen和fgets
今天写了段代码,
程序代码:
#include <stdio.h>
   #include<ctype.h>
#include<string.h>/*预处理*/
void str_toupper(char str[])
{
    int i=0;
    while(str[i]){
    str[i]=toupper(str[i]);
    i++;
    }/*把小写字母改成大写的*/
}
int stricomp(const char str1[],const char str2[])
{
    int n;
    for(n=0;n<1000&&str1[n]!='\0'&&str2[n]!='\0';n++)
      if(str1[n]!=str2[n])return 0;
    return 1;/*比较两个字符串是否一致*/
}
int main(void)
{
char str1[1000]={'\0'};
char str2[1000]={'\0'};
FILE *fp,*fp1,*fp2;
if((fp=fopen("F:\\vc\\cba.txt","r"))==NULL){
    puts("buxing");return(0);}/*判断文件是否打开*/
fp1=fp;
fgets(str1,strlen(fp1->_ptr),fp);/*复制字符*/
fclose(fp);
if((fp2=fopen("F:\\vc\\abc.txt","r"))==NULL){
    puts("buxing ");return(0);}
fp1=fp2;
fgets(str2,strlen(fp1->_ptr),fp);
fclose(fp2);
str_toupper(str1);
str_toupper(str2);
printf("%d\n",stricomp(str1,str2));

return 0;
}
这段代码编译时一点问题也没用,但在生成txt文件时却不能生成
图片附件: 游客没有浏览图片的权限,请 登录注册

经过努力发现是红色的那两句引起的,兄弟们帮看看怎么解决,我还是想用strlen这个函数的
搜索更多相关主题的帖子: 今天 
2012-12-18 19:12
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
自己顶

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-18 19:32
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
我再顶

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-18 19:58
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 yaobao
fgets(str2,strlen(fp1->_ptr),fp);
fp都已经close了

总有那身价贱的人给作业贴回复完整的代码
2012-12-18 20:08
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
红色部分在哪?问题太多了

总有那身价贱的人给作业贴回复完整的代码
2012-12-18 20:09
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
这也不对
for(n=0;n<1000&&str1[n]!='\0'&&str2[n]!='\0';n++)
   if(str1[n]!=str2[n])
       return0;
    return1;/*比较两个字符串是否一致*/

根本没有循环,n等于0,判断相等会return,判断不相等也会return

总有那身价贱的人给作业贴回复完整的代码
2012-12-18 20:12
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:2 
好长啊 蹭分了。。
2012-12-18 20:13
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
fgets(str1,strlen(fp1->_ptr),fp);/*复制字符*/

fgets(str2,strlen(fp1->_ptr),fp);
这两句有问题

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-18 20:23
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
回复 6楼 embed_xuel
for(n=0;n<1000&&str1[n]!='\0'&&str2[n]!='\0';n++)
   if(str1[n]!=str2[n])
       return0;
    return1;
这句只有if语句是for的循环体啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-18 20:24
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
回复 7楼 zklhp
鄙视蹭分滴

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-18 20:25
快速回复:求解惑,关于strlen和fgets
数据加载中...
 
   



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

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