急求,c语言程序,谢谢~~~万分感谢~~~

来源:百度知道 编辑:UC知道 时间:2024/06/29 23:46:07
从一个文本文件读取正文,将其中的小写字母转换成大写字母,大写字母转换成小写字母,其他字符不变,然后输出到另一个文本文件中保存。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{

FILE *fp1;
FILE *fp2; //申明2个文件指针,一个打开源文件,一个打开目标文件
char buf[1024]; //申明一个大字符数组,用于保存文件每一个行的内容
char *p=buf;
//只读方式打开源文件,这里得用两个反斜杠转义字符
//文件放在C盘根目录下,为.dat格式 可用记事本或写字板打开,然后修改其内容
if( (fp1=fopen("c:\\2.dat","rb+"))==NULL )
{
printf("打开source.txt失败,可能文件还没有创建!");
exit(0);
}
//创建目标文件,这里一般不会发生错误
if((fp2=fopen("c:\\dest.txt","w"))==NULL )
{
printf("创建dest.txt失败!");
fclose(fp1);
exit(0);
}

while(!feof(fp1)) //当文件指针fp1指向文件末尾时,feof返回0,否则返回1,该句作用是只要未到末尾则进入循环
{
memset(buf, 0, 1024);
fgets(buf, 1024, fp1);
p=buf;
while(*p)
{
if(*p>=65&&*p<=90)*p+=32;//大写转小写
else if(*p>=97&&*p<=122)*p