C語言中的fgets()和gets()
fgets()
fgets() 函式用於讀取字串直到換行符。它檢查陣列邊界,因此也是安全的。
以下是 C 語言中 fgets() 的語法:
char *fgets(char *string, int value, FILE *stream)
其中:
string − 指向字元陣列的指標。
value − 要讀取的字元數。
stream − 指向檔案物件的指標。
以下是一個 C 語言中 fgets() 的示例:
示例
#include <stdio.h>
#define FUNC 8
int main() {
char b[FUNC];
fgets(b, FUNC, stdin);
printf("The string is: %s
", b);
return 0;
}輸出
輸入字串為“Hello World!”,位於 stdin 流中。
The string is: Hello W
在上述程式中,聲明瞭一個字元型別的陣列。fgets() 函式從 STDIN 流中讀取指定數量的字元。
char b[FUNC]; fgets(b, FUNC, stdin);
gets()
gets() 函式用於從標準輸入裝置讀取字串。它不檢查陣列邊界,因此也不安全。
以下是 C 語言中 gets() 的語法:
char *gets(char *string);
其中:
string − 指向字元陣列的指標。
以下是一個 C 語言中 gets() 的示例:
示例
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
int i;
printf("
Enter a string : ");
gets(s);
for (i = 0; s[i]!='\0'; i++) {
if(s[i] >= 'a' && s[i] <= 'z') {
s[i] = s[i] - 32;
}
}
printf("
String in Upper Case = %s", s);
return 0;
}輸出
Enter a string : hello world! String in Upper Case = HELLO WORLD!
在上述程式中,字元陣列 s 中的字串被轉換為大寫字串。gets() 函式用於從 stdin 流中讀取字串。
char s[100];
int i;
printf("
Enter a string : ");
gets(s);
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP