I have two questions, one small one, hence I will ask them together. Is implementation defined behaviour as dangerous as undefined behaviour?
I read some unicode string from file using this code:
char buff[1000];
while (fgets(buf,1000, ptr_file) != NULL)
printf("line: %s",buf);
I believe the unicode characters in the file where saved in UTF8 encoding.
But each UTF8 value was more than 128 when I checked. Nevertheless
the array is of char
type as you can see (meaning range -127,128).
But the string was correctly printed. What happened? Did I invoke UB?