用c语言fseek(),fopen(),fwrite(),fread()函数,将txt文件中的后26位字母的小写改为大写。
#include <stdio.h>
int main(void)
{
char buf[26];
FILE *fp = fopen("haha.txt","r+");
if(fp == NULL)
{
perror("fopen");
return -1;
}
int ret = fseek(fp,-26,SEEK_END);
if(ret == -1)
{
perror("fseek");
return -2;
}
ret = fread(buf,26,1,fp);
if(ret <= 0)
{
perror("fread");
return -3;
}
int i;
for(i=0; i<26; i++)
{
if(buf[i]>='a'&&buf[i]<='z')
{
buf[i]-=32;
}
}
ret = fseek(fp,-26,SEEK_END);
if(ret == -1)
{
perror("fseek");
return -4;
}
ret = fwrite(buf,26,1,fp);
if(ret <= 0)
{
perror("fwrite");
return -5;
}
fclose(fp);
return 0;
}