#include "stdio.h"
#include "string.h"
int main()
{
FILE *fp;
char str[100]={0};
int i;
if((fp=fopen("data.in","r"))==NULL)
{
printf("文件打开失败,可能需要的文件不存在!\n");
return 1;
}
fscanf(fp,"%s",str);
if(strlen(str)==0)
{
printf("文件中不包含有效的参数!\n");
fclose(fp);
return 2;
}
for(i=0;i { if(str[i]>='A' && str[i]<='Z') printf("%c ",str[i]); } for(i=0;i { if(str[i]>='a' && str[i]<='z') printf("%c ",str[i]); } printf("\n"); fclose(fp); return 0; } 结果:
你那个文档里的输入和输出怎么不一样?大写转小写也不应该转换了字符给改变了吧,C#很好做,直接string s=字符串;然后string t=s.ToLower(); C语言的用法和C++差不多,大写和小写字符之间的ASCII码值相差,只要用一个循环定义i++;加上输出格式就可以了
#include
void main()
{
FILE*fp;
char buffer[100];
int i;
fp=fopen("in.bat","w");
if(!fp) {return ;}
scanf("%s",buffer);
fprintf(fp,"%s",buffer);
fclose(fp);
fp=fopen("in.bat","r");
fscanf(fp,"%s",buffer);
i=0;
while(buffer[i])
{
if(buffer[i]>='A' && buffer[i]<='Z') printf("%c ",buffer[i]);
i++;
}
i=0;
while(buffer[i])
{
if(buffer[i]>='a' && buffer[i]<='z') printf("%c ",buffer[i]);
i++;
}
}
C语言大小字母输出