Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47

Неправильный вывод

17.06.2020, 10:56. Показов 1125. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста почините код. если выводить всю строку полностью с помощью printw(text), то она выводится, но если попробовать вывести определённый символ - нет. Ещё тут wcslen() работает неправильно.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<ncursesw/ncurses.h>
#include<unistd.h>
#include<wchar.h>
#include<locale.h>
#include<string.h>
void mvprintt(unsigned short x,unsigned short y,wchar_t *text,unsigned short time)
{
  move(y,x);
  printw("%d ",wcslen(text));
  for(unsigned short i=0;i!=wcslen(text);i++){
    addch(text[i]);
    refresh();
    usleep(time);}
}
void main()
{
  if(!setlocale(LC_ALL,"ru_RU.UTF-8")){
    perror("setlocale fail");}
  initscr();
  noecho();
  curs_set(0);
  unsigned short width,height,centerx,centery;getmaxyx(stdscr,height,width);centerx=width/2;centery=height/2;
  mvprintt(10,5,"не работает -_-",25000);
  refresh();
  getch();
  endwin();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.06.2020, 10:56
Ответы с готовыми решениями:

Неправильный вывод в массиве
Здравствуйте, такая проблема: я делю число на массив чисел, если число целое, то записываю его в другой массив, ошибка в том что второй...

Неправильный вывод программы
Ребят,что не так? Ничего не выводит #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; main(){ int...

Неправильный вывод строки
Функция должна получать строку, проверять ее и записывать в переменную. Но при выводе получается что-то не вполне вразумительное. Что не...

14
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47
17.06.2020, 20:13  [ТС]
Да блин, ну помогите вы мне! Мне НАДО.

Добавлено через 6 минут
О, что-то сделал, не знаю как, но работает))

Добавлено через 22 минуты
Оно, конечно, выводится, это хорошо, но. wcslen всё равно работает неправильно. найдите пожалуйста способ узнать длину строки text.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<ncursesw/ncurses.h>
#include<unistd.h>
#include<locale.h>
#include<string.h>
void mvprintt(unsigned short x,unsigned short y,char *text,unsigned short time)
{
  move(y,x);
  printw("%d",wcslen(text));
  for(unsigned short i=0;i!=strlen(text);i++){
    printw("%c",text[i]);
    refresh();
    usleep(time);}
}
void main()
{
  if(!setlocale(LC_ALL,"ru_RU.UTF-8")){
    perror("setlocale fail");}
  initscr();
  noecho();
  curs_set(0);
  unsigned short width,height,centerx,centery;getmaxyx(stdscr,height,width);centerx=width/2;centery=height/2;
  mvprintt(10,5,"В этом месте отсутствует всё.",25000);
  refresh();
  getch();
  endwin();
}
0
136 / 90 / 48
Регистрация: 16.08.2016
Сообщений: 362
18.06.2020, 19:25
Насколько я понимаю ты пытаешься в функцию которая принимает аргумент wchar_t, запихнуть простой char
0
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47
19.06.2020, 10:54  [ТС]
Да я по-разному пробовал, но не получается как-то. вы можете починить пожалуйста? Это не сложно наверное.

Добавлено через 19 минут
Говорю же, wcslen() не работает просто.
0
136 / 90 / 48
Регистрация: 16.08.2016
Сообщений: 362
19.06.2020, 11:53
Перед вашей строкой, которую вы передаёте в функцию, нужно ставить L

C
1
mvprintt(10,5,L"В этом месте отсутствует всё.",25000);
0
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47
20.06.2020, 18:27  [ТС]
Нет, без этого работает, вы меня не понимаете. Я говорю как УЗНАТЬ ДЛИНУ строки?
0
136 / 90 / 48
Регистрация: 16.08.2016
Сообщений: 362
20.06.2020, 19:50
Не знаю что у вас там не работает, у меня всё работает. Может быть стоит выложить вывод вашего компилятора или консоли, чтобы не гадать.
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
21.06.2020, 02:20
8я и 10я вашего кода.

Vadim Borisov, Русским же языком сказал - в Си строковые литералы для wchar_t передаются с префиксом 'L'
Тот же Владимир спросил на что ругается компилер - а он должен был на эти строки как минимум варнинги посылать о "кривом неявном" преобразовании типов.
0
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47
21.06.2020, 08:35  [ТС]
Когда я там ставлю L то у меня наоборот не работает) В общем там происходить что-то странное.
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
21.06.2020, 11:40
wchar_t далеко не равно char
Почему тогда в функции mvprintt используется char* , а не wchar_t* ?

И да, где выхлопы консоли - на что ругается компилятор? По фразам работает/не_работает только погадать на гуще можно.
0
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47
21.06.2020, 13:58  [ТС]

Довольны? Может теперь вы уже просто возьмёте, почините и кинете уже готовый код наконец-то?)
0
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47
21.06.2020, 14:04  [ТС]
И вообще если писать "неправильно" и подставлять там char, то оно хотя бы нормально выводится, иначе вот что.
^R MB>< <5AB5 >BACBAB2C5B 2AQ.
0
136 / 90 / 48
Регистрация: 16.08.2016
Сообщений: 362
21.06.2020, 15:08
Ну вообще тебе там написано что не знаю такой функции как wcslen, это значит что не подключён нужный заголовочный файл. Кстати то что пишет компилятор очень легко гуглится.
0
7 / 5 / 2
Регистрация: 28.09.2019
Сообщений: 47
21.06.2020, 15:39  [ТС]
Кстати почините уже и просто киньте мне рабочий код.
0
 Аватар для fedorov21951
111 / 81 / 34
Регистрация: 18.06.2020
Сообщений: 431
18.07.2020, 16:18
Нужно установить
apt-get install ncursesw
и компилировать с ncursesw
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.07.2020, 16:18
Помогаю со студенческими работами здесь

Неправильный вывод вещественного числа
float a; printf(&quot;Ввод: &quot;); scanf(&quot;%f&quot;, &amp;a); printf(&quot;%f&quot;, a); Если я ввожу число - 5.41 к примеру, он мне выводит 5,000000. ...

Неправильный вывод элементов массива
Задача: даны два массива действительных чисел по 12 элементов в каждом. Заменить нулями те элементы первого массива, которые есть во...

Неправильный вывод в бинарный файл
Помогите плс с С: #include &lt;stdio.h&gt; int i, max, min; int Array; FILE * mFile; int main () { FILE * mFile;

Неправильный вывод в консоль транспонированной матрицы
Добрый день! я написал программу для транспонирования матрицы. При вводе квадратной матрицы, программа работает, а при вводе матрицы,...

Неправильный вывод данных в программе, которая определяет минимальный элемент на главной диагонали
Еще одна бессонная ночь породила из моего недалекого разума еще одну программу Вот листинг самой программы #include &lt;stdio.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru