strstr not functioning

It’s because fgets stores the newline character so when strstr does a comparison it fails. From the man page: fgets() reads in at most one less than size characters from stream and stores them into the buffer pointed to by s. Reading stops after an EOF or a newline. If a newline is read, it … Read more

PHP – Returning the last line in a file?

The simplest naive solution is simply: $file = “/path/to/file”; $data = file($file); $line = $data[count($data)-1]; Though, this WILL load the whole file into memory. Possibly a problem (or not). A better solution is this: $file = escapeshellarg($file); // for the security concious (should be everyone!) $line = `tail -n 1 $file`;

fgets instructions gets skipped.Why?

I’ll bet it’s because of the \n stuck in the input stream. See one of these questions: I am not able to flush stdin. How do I go about Flushing STDIN here? scanf() causing infinite loop or this answer. Also: Why not to use scanf(). P.S. fgets() is a function, not an instruction.

C – scanf() vs gets() vs fgets()

Never use gets. It offers no protections against a buffer overflow vulnerability (that is, you cannot tell it how big the buffer you pass to it is, so it cannot prevent a user from entering a line larger than the buffer and clobbering memory). Avoid using scanf. If not used carefully, it can have the … Read more