求解惑,关于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这个函数的









