色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > C語言一行一行讀取文件

          C語言一行一行讀取文件

          發(fā)布人:電子禪石 時(shí)間:2024-01-26 來源:工程師 發(fā)布文章

          C語言中,使用fgets函數(shù)可以一行行讀du取文件。


          1、fgets函數(shù):


          原型:char * fgets(char * buf, int bufsize, FILE * stream);


          功能:從文件結(jié)構(gòu)體指針stream中讀取數(shù)據(jù),每次讀取一行。


          說明:讀取的數(shù)據(jù)保存在buf指向的字符數(shù)組中,每次最多讀取bufsize-1個(gè)字符

          (第bufsize個(gè)字符賦值為\0)。如果該行不足bufsize個(gè)字符,則讀完該行就結(jié)束,

          如果該行超過bufsize-1個(gè)字符,則fgets只返回一個(gè)不完整的行,buf緩沖區(qū)以\0字符結(jié)束,

          下一次fgets調(diào)用會(huì)繼續(xù)讀取該行剩余的字符;


          頭文件:stdio.h;


          返回值:若讀入成功,返回與參數(shù)buf相同的字符指針,若讀入過程中遇到EOF或發(fā)生錯(cuò)誤,

          返回NULL指針。所以當(dāng)遇到返回值為NULL的情況時(shí),應(yīng)使用ferror或feof函數(shù)檢查是發(fā)生錯(cuò)誤

          還是遇到EOF。

          ————————————————

          #include<stdio.h>
          int a;
          char b,c[100];
          int main(){
              FILE * fp1 = fopen("input.txt", "r");//打開輸入文件
              FILE * fp2 = fopen("output.txt", "w");//打開輸出文件
              if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出
                  puts("不能打開文件!");
                  return 0;
              }
              fscanf(fp1,"%d",&a);//從輸入文件讀取一個(gè)整數(shù)
              b=fgetc(fp1);//從輸入文件讀取一個(gè)字符
              fgets(c,100,fp1);//從輸入文件讀取一行字符串
               
              printf("%ld",ftell(fp1));//輸出fp1指針當(dāng)前位置相對(duì)于文件首的偏移字節(jié)數(shù)
               
              fputs(c,fp2);//向輸出文件寫入一行字符串
              fputc(b,fp2);//向輸出文件寫入一個(gè)字符
              fprintf(fp2,"%d",a);//向輸出文件寫入一個(gè)整數(shù)
               
              fclose(fp1);//關(guān)閉輸入文件
              fclose(fp2);//關(guān)閉輸出文件,相當(dāng)于保存
              return 0;
          }


                                      版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。

                                  

          原文鏈接:https://blog.csdn.net/deflypig/article/details/107488432


          *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



          關(guān)鍵詞: c

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉