Bug no wprintf? Em C. [RESOLVIDO]

1. Bug no wprintf? Em C. [RESOLVIDO]

Nick Us
Nick-us

(usa Slackware)

Enviado em 28/07/2020 - 14:19h

Esse caso me quebrou a cabeça, pq eu estava aprendendo ainda a usar, e hora funcionava e hora não, até descobrir isso abaixo!

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main() {
setlocale(LC_ALL, "");
wchar_t Text[] = L"Ágata";

//wprintf(L"Variable: %ls\n", Text); // Se eu imprimir aqui os printf abaixo não imprimem!

printf("%ld\n", sizeof(Text));
printf("%ld Caracteres\n", wcslen(Text));
printf ("1: %ls\n", Text);

wprintf(L"Variable: %ls\n", Text); // Não imprime por causa dos printf acima
}

No Código acima, não consigo usar wprintf com printf ao mesmo tempo. Um anula o funcionamento do outro, só funciona quem está declarado primeiro!
Isso é um BUG? Ou existe alguma explicação para esse estranho comportamento?


  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 28/07/2020 - 16:17h

Não é bug. O stream de saída (ou de entrada também) pode trabalhar apenas com chars ou apenas com wchar_ts. Não é possível misturar os dois.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)

3. Re: Bug no wprintf? Em C. [RESOLVIDO]

Nick Us
Nick-us

(usa Slackware)

Enviado em 28/07/2020 - 22:10h

paulo1205 escreveu:
Não é bug. O stream de saída (ou de entrada também) pode trabalhar apenas com chars ou apenas com wchar_ts. Não é possível misturar os dois.

Ahhhh Sempre tem uma explicação! É bom saber disso! Obrigado!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts