字串

  1. 範例:輸入一個字串。
    [dywang@deyu zzz]$ vim stdio2.c
    [dywang@deyu zzz]$ cat stdio2.c
    #include <stdio.h>
    
    int main() {
    	char str[100];
    
    	printf("Enter a string: ");
    	gets(str);
    	//fgets(str, 100, stdin);
    	printf("You entered: ");
    	puts(str);
    }
    
  2. 編譯 stdio2 執行檔,警告 gcc 已不使用 gets 函式,要改用 fgets 函式。
    [dywang@deyu zzz]$ gcc -o stdio2 stdio2.c
    stdio2.c: In function ‘main’:
    stdio2.c:7:2: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]
      gets(str);
      ^~~~
      fgets
    /tmp/ccDCBasA.o: In function `main':
    stdio2.c:(.text+0x24): warning: the `gets' function is dangerous and should not be used.
    
  3. 編譯:將 gets 改成 fgets 後編譯,不再出現警告訊息。
    	//gets(str);
    	fgets(str, 100, stdin);
    [dywang@deyu zzz]$ gcc -o stdio2 stdio2.c
    
  4. 執行結果
    [dywang@deyu zzz]$ ./stdio2
    Enter a string: qwe asd
    You entered: qwe asd