`fgets`函式的返回值情況如下:
成功讀取字元串:
返回指向讀取到的字元串的指針。這個指針指向傳入的字元數組`str`,該數組存儲了讀取到的字元串。
如果讀取到的字元串長度小於`n`,則數組以空字元`'\0'`結尾。
到達檔案末尾或沒有讀取到任何字元:
`str`的內容保持不變,即未被修改。
返回空指針`NULL`。
發生錯誤:
返回空指針`NULL`。
如果錯誤發生在讀取字元時遇到檔案末尾(EOF),則EOF指示器被設定。
如果在沒有任何字元被讀入的情況下遇到EOF,`stream`保持原來的內容。
如果發生讀入錯誤,error指示器被設定,`stream`的值可能被改變。
特殊情況:
當`n`小於等於0時,返回`NULL`。
當`n`等於1時,返回空串`""`。
綜上所述,`fgets`函式的返回值取決於讀取操作是否成功、是否達到檔案末尾或是否發生錯誤。成功時返回指向讀取到的字元串的指針,失敗或遇到檔案末尾時返回`NULL`。