日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言的fgets 与 gets

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言的fgets 与 gets 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分享一下我老師大神的人工智能教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

今天在翻《C語言參考手冊》查看文件操作的相關函數時,看到fgets() 與 gets()的一些“微妙”的地方

另外《C語言參考手冊》是C程序員身邊的一本非常好的“詞典”,剛開始學習C的時候,或許用不上這書(只因為初學者對里面的內容看得不是很明白)但是覺得自己學到有一定程度的時候,這本書絕對是一本十分好的工具書!

題外話就到此為止,入正題:

這篇文章主要簡單地說說 fgets() 和 gets()

首先看看函數原型:

char* fgets(char *s, int n, FILE *stream);char* gets(char *s);
一般使用fgets函數,都是讀取文件當中的n-1個字符到s中,其實,此函數還有一個很好的用處就是從標準輸入流中讀取字符串,而且不用擔心輸入的字符個數超出了字符數組的大小而導致溢出的問題!要怎樣做呢?如下:

char??? str[10];fgets(str, siezof(str), stdin);

而如果使用gets函數的話,就不能保證上述的問題不會出現(輸入的字符個數超出了字符數組的大小而導致溢出) ?不信你可以運行下面的代碼:

char??? str[10];gets(str);當然你得輸入10個以上的字符才能看到問題


到這里,fgets()的好處就不用再詳細說了。值得注意的是:謹記fgets()只讀取n-1個字符所以,fgets()讀取到換行符、文件尾或讀完n-1個字符便會進行返回


???????????

給我老師的人工智能教程打call!http://blog.csdn.net/jiangjunshow

總結

以上是生活随笔為你收集整理的C语言的fgets 与 gets的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。