next up previous contents
Next: 標準輸入緩衝區 Up: 標準輸入與輸出 Previous: 單一字元   Contents

字串

  1. 範例:輸入一個字串。
    [dywang@dyw219 zzz]$ vim stdio2.c
    [dywang@dyw219 zzz]$ cat stdio2.c
    #include <stdio.h>
    
    main () {
    	char str[100];
    
    	printf( "Enter a string: ");
    	//gets(str);
    	fgets(str, 100, stdin);
    	printf( "You entered: ");
    	puts(str);
    }
    
  2. 編譯:雖然可成功產生 stdio2 執行檔,但編譯時警告 gcc 已不使用 gets 函式。
    [dywang@dyw219 zzz]$ gcc -o stdio2 stdio2.c
    stdio2.c: In function ‘main’:
    stdio2.c:7:2: warning: ‘gets’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
      gets(str);
      ^
    
  3. 編譯:將 gets 改成 fgets 後編譯,不再出現警告訊息。
    	//gets(str);
    	fgets(str, 100, stdin);
    [dywang@dyw219 zzz]$ gcc -o stdio2 stdio2.c
    
  4. 執行結果
    [dywang@dyw219 zzz]$ ./stdio2
    Enter a string: qwe asd
    You entered: qwe asd
    



De-Yu Wang 2019-09-19