2011-03-26 60 views
1
#include <stdio.h> 

int main() 
{ 
    FILE * pFile; 
    int n; 
    char name [100]; 

    pFile = fopen ("myfile.txt", "w"); 
    for (n = 0; n < 3; n++) 
    { 
    puts ("please, enter a name: "); 
    gets (name); 
    fprintf (pFile, "Name %d [%-10.10s]\n", n, name); 
    } 
    fclose (pFile); 

    return 0; 
} 

此代碼給我一個警告gcc說'獲取是一個危險的函數使用'...有沒有解決它的辦法?獲取相關問題

+0

這看起來不像Objective-C問題......您的意圖是什麼? – jtbandes 2011-03-26 07:47:51

+1

想一想:如果我輸入一個長度超過100個字符的名字,會發生什麼情況? – 2011-03-26 07:56:45

回答

3

是的,它是fgets。您調用替換到gets有:

fgets(name, 100, stdin) 

欲瞭解更多詳細信息,請參閱該文檔 - 兩者是不完全一樣的。