Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm thế nào để in nội dung vào các tệp bằng ngôn ngữ C?

Chúng ta có thể viết một chương trình bằng C để in một số nội dung vào tệp và in nội dung sau -

  • Số ký tự được nhập vào tệp.
  • Đảo ngược các ký tự đã nhập vào tệp.

Trước tiên, hãy cố gắng lưu trữ số ký tự vào tệp bằng cách mở tệp ở chế độ ghi.

Để nhập dữ liệu vào tệp, chúng tôi sử dụng logic như được đề cập bên dưới -

while ((ch = getchar( ))!=EOF) {//after enter data press cntrl+Z to terminate
   fputc(ch, fp);
}

Với sự trợ giúp của các hàm ftell, rewind, fseek, chúng ta có thể đảo ngược nội dung mà chúng ta đã nhập vào tệp.

Ví dụ

Dưới đây là một chương trình C để in một số nội dung vào tệp và in số ký tự và đảo ngược các ký tự được nhập vào tệp -

#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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

enter text press ctrl+z of the end
TutorialsPoint
^Z
No. of characters entered = 18
fp value after rewind = 0
reversed content is
tnioPslairotuT