我们可以用C编写程序,将一些内容打印到文件中,然后打印以下内容-
输入文件的字符数。
反转输入文件中的字符。
首先,尝试通过在写入模式下打开文件将字符数存储到文件中。
为了将数据输入文件,我们使用以下逻辑:
while ((ch = getchar( ))!=EOF) {//输入数据后,按cntrl + Z终止 fputc(ch, fp); }
借助ftell,rewind和fseek函数,我们可以反转已经输入到文件中的内容。
下面给出的是一个C程序,用于将一些内容打印到文件中,并打印字符数并反转输入到文件中的字符-
#include<stdio.h> int main( ){ FILE *fp; char ch; int n,i=0; fp = fopen ("reverse.txt", "w"); printf ("enter text press ctrl+z of the end"); while ((ch = getchar( ))!=EOF){ fputc(ch, fp); } n = ftell(fp); printf ( "No. of characters entered = %d\n", n); rewind (fp); n = ftell (fp); printf ("fp value after rewind = %d\n",n); fclose (fp); fp = fopen ("reverse.txt", "r"); fseek(fp,0,SEEK_END); n = ftell(fp); printf ("reversed content is\n"); while(i<n){ i++; fseek(fp,-i,SEEK_END); printf("%c",fgetc(fp)); } fclose (fp); return 0; }输出结果
执行以上程序后,将产生以下结果-
enter text press ctrl+z of the end nhooo ^Z No. of characters entered = 18 fp value after rewind = 0 reversed content is tnioPslairotuT