在main函数中创建一个文件,将键盘输入的字符串(该字符串只包含字母和)写入文件中。打开该文件,读出字符串。删除串中字母之间的号,并将新串存放到另一个文件中。比如,字符串a**Bcd,删除字母之间的号,得新串aBcd
#include <stdio.h>
#include <string.h>
void main()
{
FILE* fp;
char buf[1024] = {0};
//char* p;
int size; //文件大小
int i;
int indexbegin = 0,indexlast = 0;
printf("请输入一个字符串:");
gets(buf);
size = strlen(buf);
//写入文件
if(!(fp = fopen("a.txt","w")))
{
printf("文件打开失败\n");
return ;
}
fwrite(buf,1,size,fp);
fclose(fp);
fp = 0;
//读文件
if (!(fp = fopen("a.txt","r")))
{
printf("文件打开失败\n");
return ;
}
fseek(fp,0,SEEK_END);
size = ftell(fp);
rewind(fp);
size = fread(buf,1,size,fp);
fclose(fp);
fp = 0;
//写入文件
if (!(fp = fopen("b.txt","w")))
{
printf("文件打开失败\n");
return ;
}
//p = &buf[0];
i = 0;
//找到第一个和最后一个字母的位置
for (indexbegin = 0; indexbegin < size; indexbegin++)
{
if(buf[indexbegin] != '*')
break;
}
for (indexlast = size -1; indexlast >= 0 ;indexlast--)
{
if(buf[indexlast] != '*')
break;
}
//将0-indexbegin之间的写入文件
fwrite(buf,1,indexbegin,fp);
//将indexbegin-indexlast之间的写入文件
while(indexbegin <= indexlast)
{
if(buf[indexbegin] != '*')
fwrite(&buf[indexbegin],1,1,fp);
indexbegin++;
}
//将indexlast之后的写入文件
if(indexlast < size-1)
fwrite(&buf[indexlast+1],1,size - indexlast,fp);
fclose(fp);
fp = 0;
}