samedi 1 octobre 2016

std::cout seems to be printing out an extra "|" when called initially

I am working on a portion of my code that is suppose to output the error message correctly.

Please see below screenshot, I am using on bash

./myProgram < input3a.in | diff -a -y output3a.out -

Left hand side is what I want to get to.

enter image description here

For some reason an extra "|" is printed before the char array 'line' is printed. I suspected that maybe the char array 'line' is not null terminated. but it is initialize by cin.getline(); which should null terminate the char array.

Here i try to print the 'line' array in my main procedure, and it left the | sign on the line before it. enter image description here

my question is. why does std::cout display this behaviour?

Thanks

Aucun commentaire:

Enregistrer un commentaire