Разрешить «Специальные символы» на языке C в Windows - PullRequest
0 голосов
/ 01 июня 2019

Если я выполню этот код (скомпилирован с командой gcc accents.c -o accents && cls && accents) в Linux DEB (например, Debian или Ubuntu) все работает нормально.

Если я выполню этот код в Windows 10, он не обнаружит специальные символы.

Как я могу разрешить специальным символам (таким как "Аlex", что А) нормально работать в Windows?

#include <stdio.h>

void NetejaBuffer(){ while(getchar() != '\n'); }

int comparaCadena(char p1[],char p2[]){
    int i=0;
    while (p1[i]!='\0'){
            if (p1[i]!=p2[i]) return 0;
            i++;
    }
    return 1;
}

int main (){
    char Paraula1[30]="Àlex"; // Define Main Word: Àlex
    char Paraula2[30]; // Define variable for Second Word
    int i=0; // Define no go to the next step beafoure writte Main Word
    while (i==0){
            printf(" Main Word:  "); // Show text "Main Word" on terminal
            scanf("%[^\n]",Paraula2);       // Ask a word. It will save on "Paraula2" variable
            NetejaBuffer();

            if(comparaCadena(Paraula1,Paraula2)) {
                    printf(" NICE! \n "); // If word are the same on Main Word, show text "NICE!"
                    i=1; // And define variable i as 1
            }else printf("TRY AGAIN! \n "); // If word are no the same, show text "TRY AGAIN!"

    }

    return 0;
}

1 Ответ

0 голосов
/ 01 июня 2019

А не является специальным символом. Если вы наблюдаете значения ASCII, вы найдете этот символ пройти по этой ссылке https://theasciicode.com.ar/extended-ascii-code/letter-a-grave-accent-lowercase-ascii-code-133.html

...