Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Удалить все пробелы в русском широкосимвольном тексте, хранящемся в массиве

КулХацкер Мыслитель (6846), закрыт 1 год назад
Дан русский широкосимвольный текст типа wchar_t, произвольно сохранённый в массиве wtext[512].
Удалить из текста все пробелы.
Результат изменения массива вывести на консоль.
Лучший ответ
Евгений Высочин Просветленный (37983) 1 год назад
#include<stdio.h>
#include<wchar.h>
#include<locale.h>
#include<stdlib.h> //для паузы в Windows
int main()
{
wchar_t wtext[512]={0};
setlocale(LC_ALL, "Russian");
wprintf(L"Введите текст:\n");
fgetws(wtext, sizeof(wtext), stdin);
wtext[wcslen(wtext)-1]=L"\0";
wprintf(L"\nУдалены все пробелы:\n");

while(wcsstr(wtext, L" "))
{
wchar_t *finded=wcsstr(wtext, L" ");
wchar_t last[256]={0}, *pl=&last;
wcscpy(last, finded);
pl++;
wcscpy(wcsstr(wtext, L" "),pl);
}

wprintf(L"%ls", wtext);
system("pause"); //пауза в Windows
return 0;
}
Остальные ответы
Николай Веселуха Высший разум (356497) 1 год назад
 #include  
#include
#include
#include
using namespace std;
int main() {
wcout.imbue(locale(".866"));
wcin.imbue(locale(".866"));
const size_t length = 512;
wcout << L"Введите строку: ";
wchar_t wtext[length];
wcin.getline(wtext, length);
auto line = regex_replace(wtext, wregex(L"[ \\t]+"), L"");
wcsncpy_s(wtext, length, line.c_str(), line.length());
wcout << L"Строка без пробелов: " << wtext << L'\n';
system("pause > nul");
}
СергейГений (55530) 1 год назад
Я давно за вами наблюдаю. Вас лайкают одни и те-же) Хотел посмотреть кто - и сам лайкнул)
Николай Веселуха Высший разум (356497) Сергей Степанов, :)
Похожие вопросы