retorno de carro por fgets

Estoy ejecutando el siguiente código:

#include<stdio.h>
#include<string.h>
#include<io.h>

int main(){
    FILE *fp;
    if((fp=fopen("test.txt","r"))==NULL){
        printf("File can't be read\n");
        exit(1);
    }
    char str[50];
    fgets(str,50,fp);
    printf("%s",str);
    return 0;
}

text.txt contiene:I am a boy\r\n

Ya que estoy en Windows, toma \ r \ n como un nuevo carácter de línea y, por lo tanto, si leo esto desde un archivo, debería almacenar"I am a boy\n\0" enstr, pero me sale"I am a boy\r\n". Estoy usando el compilador mingw.

Respuestas a la pregunta(2)

Su respuesta a la pregunta