C語言 文件讀寫 fputs 函數 - C語言零基礎入門教程


目錄

零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門

一.fgets 函數簡介

fgets 函數功能為從指定的流中讀取數據,每次讀取一行。其原型為:

#include <stdio.h>
#include <stdlib.h>
/*
*描述:從指定的流 stream 讀取一行,並把它存儲在str所指向的字符串內。當讀取(n-1)個字符時,或者讀取到換行符時,或者到達文件末尾時,它會停止
*
*參數:
*   [in]  str: 緩沖區,用來存放要讀取的字符串;
*   [in]  n:   要讀取的最大字符數(包括最后的空字符),通常是使用以 str 傳遞的數組長度;
*   [in]  stream:文件指針句柄;
*
*返回值:如果成功,該函數返回讀取到的數據,內容和 str 緩沖區數據一樣。如果到達文件末尾或者沒有讀取到任何字符,str 的內容保持不變,並返回一個空指針。如果發生錯誤,返回一個空指針
*/

char *fgets(char *str, int n, FILE *stream);

如果文件中的該行,不足 n-1 個字符,則讀完該行就結束;

如若該行(包括最后一個換行符)的字符數超過 n-1 ,則 fgets 只返回一個不完整的行,但是,緩沖區總是以 NULL 字符結尾,對 fgets 的下一次調用會繼續讀該行;

函數成功將返回 stream,失敗或讀到文件結尾返回 NULL 。因此不能直接通過 fgets 的返回值來判斷函數是否是出錯而終止的,應該借助 feof 函數或者 ferror 函數來判斷;

二.fgets 函數使用

/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 文件讀寫 fgets 函數
//@Time:2021/07/29 07:30
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/******************************************************************************************/

#include <stdio.h>

int main()
{
   FILE *fp;
   char str[60];

   /* 打開用於讀取的文件 */
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("打開文件時發生錯誤");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
      /* 向標准輸出 stdout 寫入內容 */
       printf("%s \n", str);
   }
   fclose(fp);

   return(0);
}


/*

 輸出:

 假設我們有一個文本文件 file.txt,它的內容如下。文件將作為實例中的輸入:
 www.codersrc.com - c語言教程
 讓我們編譯並運行上面的程序,這將產生以下結果:
 www.codersrc.com - c語言教程

 */

三.猜你喜歡

  1. C 語言 數組下標越界和內存溢出區別
  2. C 語言 使用指針遍歷數組
  3. C 語言 指針和數組區別
  4. C 語言 指針數組和數組指針區別
  5. C 語言 野指針
  6. C 語言 函數值傳遞和址傳遞
  7. C 語言 函數不定長參數
  8. C 語言 函數指針
  9. C 語言 指針函數
  10. C 語言 回調函數 callback
  11. C 語言 #pragma once
  12. C 語言 #include <> 與 #include “” 區別
  13. C 語言 const 修飾函數參數
  14. C 語言 const 和 define 區別
  15. C 語言 #運算符
  16. C 語言 ##運算符
  17. C 語言 __VA_ARGS__
  18. C 語言 ##__VA_ARGS__
  19. C 語言 函數不定長參數 ##__VA_ARGS__經典案例
  20. C 語言 va_start / va_end / va_arg 自定義 printf 函數
  21. C 語言 main 函數
  22. C 語言 main 函數參數 main(int argc, char *argv[])
  23. C 語言 局部變量
  24. C 語言 全局變量
  25. C 語言 全局變量和局部變量區別
  26. C 語言 static
  27. C 語言 extern

未經允許不得轉載:猿說編程 » C 語言 文件讀寫 fgets 函數

本文由博客 - 猿說編程 猿說編程 發布!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM