我已经编写了这段代码,以便从用户那里获取输入并将其保存为文本文件。C:分段错误
int main(){
FILE *fp;
fp = fopen("rahiv.txt", "w");
char s[80];
char a;
gets(s);
a = s ;
fputs(s, fp);
}
但是如果我想写的fputs部分类似下面,它给了我分割错误,我怎么能强制转换得到()函数的返回值和解决这个问题!
int main(){
FILE *fp;
fp = fopen("rahiv.txt", "w");
char s[80];
fputs(gets(s), fp);
}
你对'a = s;'有什么打算?建议:启用编译器中的所有警告,并将其设置为将其视为错误。 – Groo
你怎么知道文件成功打开? – John3136
我质疑'a = s;'的神经质,而这与使用['gets']缺乏任何意义相比就显得苍白(http://en.cppreference.com/w/c/io/gets)无论如何,这种邪恶和邪恶的功能已经从多年前的标准库中移除了。你看起来是一个相当信任的灵魂,因为'fopen'不能保证成功,也不会'获得',但你似乎相信双方都会成功,永远不会检查他们的结果。 – WhozCraig