Boa noite, estou fazendo um laço usando while, para receber dados do console e imprimi-los, coisa básica.
Quando a entrada tem apenas uma palavra, imprime tudo certo, mas quando tem mais de uma palavra, separada por espaços, elas são impressas em cada interação do loop(em linhas diferentes), isso quando eu uso o scanf.
Quando uso o gets, ele imprime tudo em uma única linha, como eu desejo, mais aí surge outro problema, ele não imprime caracteres UNICODE.
Alguém poderia me ajudar por favor?
Estou usando Visual C++ para codificar em c, sei que tem opções em c++, mas gostaria de uma solução usando apenas c.
segue o código:
#include "stdafx.h"
#include <Windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <wchar.h>
int main()
{
while (1)
{
SetConsoleOutputCP(65001);
char msg[200];
printf_s("digite uma mensagem: ");
gets_s(msg, sizeof(msg));
printf_s("\nmensagem: %s\n", msg);
}
return 0;
}