2017-04-12 71 views
1

我要掃描的字符串,用戶輸入,然後將其寫入到文件(file.txt的),但是這似乎並沒有因爲某些原因如何掃描字符串並將其寫入文件?

int main() 
{ 
    FILE *stream; 

    stream = fopen("file.txt", "w"); 

    char str[] = { '\0 ' }; 
    scanf("%s", &str); 
    fprintf(stream, "%s.\n", str); 


    fclose(stream); 

    return(0); 
} 
+0

多久'str'? –

+0

'scanf(「%s」..'read? –

+0

最多20個字符 – user43783

回答

3

嘗試這方面的工作,應該只是罰款。 它爲我做了,所以它也應該給你。

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
FILE *stream; 

stream = fopen("ceva.txt", "w"); 
if (stream == NULL) { 
    perror("Failed: "); 
    return 1; 
} 
char str[250]; 
scanf("%249s", str); 
fprintf(stream, "%s.\n", str); 


fclose(stream); 

return 0;} 
+4

更改'scanf(「%s」 ,str);''scanf(「%249s」,str);' –

+0

是的,謝謝你們,我只是做了一個代碼,用於打印文件到鍵盤讀取的文件。我剛剛衝進去忘了,再次感謝 –

+3

也許還要檢查'stream'也不爲空 –

0

您必須更改scanffscanf