As far as the program is concerned, there is no problem with using puts() or fputs()

The only real problem is filling up the file system if you write a lot of data, but that is true no matter what file writing functions you call.

If you try and write binary data to stdout, you could probably lock up your terminal session if it understands ANSI escape sequences. That doesn't affect your program, only your ability to control it.

> and how much data this function can handle?
Both stop at the first \0 in the buffer you supply.