fputs/puts dangerous (in C)?

2019-03-03 09:29发布

问题:

I've been having trouble with fputs lately: when printing some strings in a text file with fputs, it happens I get other characters than A-Z, a-z, 0-9 in (chars that aren't part of the string). I made absolutely sure the strings all end with the null character. Unfortunately I can't give you more information, since I did not personally test the program, that was the feedback I received. But after I replaced fputs with fprintf it worked properly.

So my question is: is fputs sort of dangerous? Have you ever had trouble with it?

回答1:

fputs is not inherently dangerous. Of course without example code its hard to say what was causing the problem you were seeing.



回答2:

fputs() is not a "dangerous" function (unlike gets(), which is dangerous). The strings you are printing actually contain the characters that end up in the file. Without code, we can't know how they got there.