I think your problem lies not in the availability of the server, but the fact that tftp (at least on my Ubuntu box) does not support the command-line arguments you've provided. As a matter of fact, the only command-line argument that it does support is the name of the server.
However, you could try piping commands into tftp (simulating an interactive session), like so:
system( "echo -e \"binary\\nget myfile\\nquit\" | tftp 192.168.1.1" );
If the server isn't available, it'll time out after a few seconds and return control to your program.