2017-04-12 47 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