编写一程序,程序的功能是从键盘输入一个文本文件的名称,读出其文件中的内容,将其中的大写字母转换成小写
发布网友
发布时间:2022-05-11 07:42
我来回答
共2个回答
热心网友
时间:2023-10-08 23:54
//编写一程序,程序的功能是从键盘输入一个文本文件的名称,读出其文件中的内容,将其中的大写字母转换成小写字母后保存回原文件。
#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *fp;
char ch,filename[20];
printf("请输入文件的路径:\n");
gets(filename);
fp=fopen(filename,"r+");
while(!feof(fp))
{
ch=fgetc(fp);
if(ch>='A'&&ch<='Z') /*大小写转换*/
{
ch=ch+32;
fseek(fp,-1L,1); /*向前移动一个字节*/
fputc(ch,fp);
fseek(fp,0L,1); /*转换读写状态,不移动*/
}
}
fclose(fp); /*关闭文件*/
}
程序如下:
#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *fp;
char ch,filename[20];
printf("请输入文件的路径:\n");
gets(filename);
fp=fopen(filename,"r+");
while(!feof(fp))
{
ch=fgetc(fp);
if(ch>='A'&&ch<='Z')
{
ch=ch+32;
fseek(fp,-1L,1);
fputc(ch,fp);
fseek(fp,0L,1);
}
}
fclose(fp);
}
热心网友
时间:2023-10-08 23:55
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#ifdef BUFSIZ
#undef BUFSIZ
#define BUFSIZ 4096
#endif
void main()
{
char * str1=new char(20);
char buf[BUFSIZ];
FILE *fp1;
printf("请输入文件名:");
scanf("%s",str1);
if((fp1 = fopen(str1,"r")) == NULL)
{
fprintf(stderr,"%s 文件打开失败!",str1);
exit(0);
}
while(fgets(buf,BUFSIZ,fp1)!=NULL)
/*从源文件读,读失败或到达文件尾部时,返回NULL*/
printf("%s",strlwr(buf)); //转换为小写输出
printf("\n");
fclose(fp1);
}追问有错啊
追答我测试过的啊,没有错误!
你运行前记得先创建一个文档,如text.txt,最好保存在源程序相同的路径下。下图是我运行的结果: