Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
16 / 16 / 2
Регистрация: 26.04.2012
Сообщений: 1,091

Лишняя скобка?

31.01.2014, 00:22. Показов 1570. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ругается на строку str[] = L"всё"; Так- error C2059: синтаксическая ошибка: ] \wchar\wchar\wchar.cpp 11


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include "Vjnkak.cpp"
int main()
{   
    int baitovwchar_t = sizeof(wchar_t);
    wchar_t str[] = L"tanya"; // Зачем и что L ?????
    std::cout << str; 
    system( "pause" );
    Mclass dima;
    dima.dima(baitovwchar_t);
    str[] = L"всё";
    std::cout << str;
    system( "pause" );
    return 0;
}
Как это может быть? str[] это что- массив или нет?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <windows.h>
 
 
 
 
    class Mclass
    {
    public:
        void dima(int baitovwchar_t)
               {wchar_t str[] = L"dima"; 
                std::cout << str; 
                std::cout <<baitovwchar_t;
                system( "pause" );
               }
        };
Добавлено через 2 минуты
Так методом тыка понимаю-что ничего не понимаю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2014, 00:22
Ответы с готовыми решениями:

Лишняя черта
Программа &quot;Слияние&quot;, не могу избавиться от последней черты (&quot; | &quot;) в выводе &quot;Выдач&quot;. Прошу помочь с удалением последней черты. ...

Лишняя строка
Всем привет, нужна помощь, целый день сижу над этой проблемой. Написал программу которая должна изменять строки в файле. Работает...

Лишняя строка в файле
void Vvod() { ofstream file(Name, ios::app); if (!file) { cout &lt;&lt; &quot;Ошибка! Такого файла не существует!&quot; &lt;&lt; endl; ...

14
245 / 246 / 38
Регистрация: 08.04.2013
Сообщений: 927
31.01.2014, 00:29
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
wchar_t str[] = L"tanya";
это инициализация объекта, оно само определит сколько там элементов.
а это что?
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
str[] = L"всё";
L - обозначает, что строка не однобайтная, а двубайтная, а точнее ANSI
1
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
31.01.2014, 00:35
metaluga145, ANSI как раз таки и однобайтовая.

L приводит ANSI строку к UNICODE.

Посмотрите в свойствах проекта какая у вас кодировка установлена?

Добавлено через 1 минуту
Dimka-novitsek, str[] - массив. Размер его можно не указывать, если он инициализируется сразу.
1
16 / 16 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
31.01.2014, 00:42  [ТС]
Щас попробую посмотреть! Спасибо всем!
0
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
31.01.2014, 00:44
Лучший ответ Сообщение было отмечено Dimka-novitsek как решение

Решение

Dimka-novitsek, нельзя массиву так значения задавать, если это только не инициализация. Используйте swprintf для формирования строк в последующем.
А еще лучше - макрос TCHAR, либо контейнер wstring.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{   
    int baitovwchar_t = sizeof(wchar_t);
    wchar_t str[] = L"tanya"; // Зачем и что L ?????
    std::cout << str; 
    system( "pause" );
    swprintf(str, L"всё");
    std::cout << str;
    system( "pause" );
    return 0;
}
1
16 / 16 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
31.01.2014, 00:47  [ТС]
Ух ты!!!!!! Использовать набор символов Юникода

Что-то изменится, если я изменю это?
0
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
31.01.2014, 00:47
Лучший ответ Сообщение было отмечено Dimka-novitsek как решение

Решение

Dimka-novitsek, С объявление массивов символов у вас все ок.
Проблема вот в этом:
C++
1
str[] = L"всё";
Вы наверное хотели присвоить одной строке другую? Так нельзя.

Дл копирования строк есть специальные функции. Функции работы со Cи-сроками определены в srtrihg.h. Нужная вам функция strcpy. Для юникод строк функции содержатся в wchar.h. Справка:
http://www.cplusplus.com/reference/cwchar/
1
16 / 16 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
31.01.2014, 00:48  [ТС]
нельзя массиву так значения задавать. Вот, я же ни знал, я массив второй раз вообще пишу. Спасибо!!
0
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
31.01.2014, 00:51
Dimka-novitsek, Так зачем же вы мил человек в юникод полезли?)

используйте обычные массивы char и методы из stringh.h - будет легче жить)
1
16 / 16 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
31.01.2014, 01:01  [ТС]
А я прробовал освоить DLL. В примере написано так, что у меня ,, полезли сответствующие ошибки. Пришлось разбираться с темой. http://microsin.ru/content/view/1283/44/
0
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
31.01.2014, 01:09
Dimka-novitsek, с юникода сразу на DLL- жестко.
Почитайте, хотя бы, Петцольда, если Рихтера не осилите - там всё это хорошо разжёвано.
1
16 / 16 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
31.01.2014, 01:14  [ТС]
А имено,
C++
1
2
3
4
void Msg(char* msgstr)
{
     MessageBox(NULL, msgstr, "Message from DLL", MB_OK);
}
Так использовать нельзя, т.к. 1 IntelliSense: аргумент типа "char *" несовместим с параметром типа "LPCWSTR" d:\прога2014\прогапроба\reshenie_loaded_ library\loaded_ library\zagolovotsnyj_loaded_ library.cpp 20 26 loaded_ library
2 IntelliSense: аргумент типа "const char *" несовместим с параметром типа "LPCWSTR" d:\прога2014\прогапроба\reshenie_loaded_ library\loaded_ library\zagolovotsnyj_loaded_ library.cpp 20 34 loaded_ library

Это потому что

Функция MessageBox создает, отображает на экране и оперирует окном сообщений. Окно сообщений содержит определяемое программой сообщение и заголовок, плюс любую комбинацию предопределенных пиктограмм и командных кнопок.

Синтаксис

C++
1
2
3
4
5
6
7
int MessageBox
(
    HWND hWnd,      // дескриптор окна владельца
    LPCTSTR lpText, // адрес текста в окне сообщений
    LPCTSTR lpCaption,  // адрес заголовка в окне сообщений
    UINT uType      // стиль окна сообщений
);
Видите, тут всюду LPCTSTR ( я к стати пока мало что в теме понял, хотя в общих чертах понемногу ложится.)

Добавлено через 2 минуты
Эх, жаль,жаль наверно надо выключать. Папа спит а комп жужит и мышка жоско щелкает.
0
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
31.01.2014, 01:18
Dimka-novitsek, всё намного проще:
C++
1
2
3
4
5
6
#include <tchar.h>
...
void Msg(TCHAR *msgstr)
{
     MessageBox(NULL, msgstr, TEXT("Message from DLL"), MB_OK);
}
Теперь везде, где char или wchar - используйте TCHAR + строки подставляйте в макрос TEXT()
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
31.01.2014, 01:43
Dimka-novitsek, ну ты же уже не первый месяц учишь этот язык, а то и год, наверное! Но каждый раз, когда я открываю какую-нибудь твою тему, не перестаю удивляться твоим вопросам: изобретение велосипедов, отсебятина и.т.д.
Нет, может это отчасти и похвально, наверное, однако, блин!
Ну в какой книге ты видел ТАКОЕ?
C++
1
#include "Vjnkak.cpp"
опять сам "изобрёл". А ты не задумывался, что другие программисты тоже не дураки и не просто так во всех программах инклюдятся именно файлы.h ?!
1
16 / 16 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
31.01.2014, 16:06  [ТС]
Спасибо всем!!!!!!!!!!! большое-большущее!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2014, 16:06
Помогаю со студенческими работами здесь

Eof() лишняя строка
при использовании eof() выводиться лишняя несуществующая в файле строка. внимание не обращал пока не написал функцию удаление определенной...

Выводится лишняя строка из файла
Здравствуйте. При выводе из файла выводится лишняя строка. Т.е. если 13 строк в файле, то выводится 14 пустая строка. Вот код: void...

Оптимизация. Лишняя информация в решении
Суть задачи заключалась в отыскании четных и нечетных значений массива, найти их сумму. Задачу решил. #include &lt;iostream&gt; ...

Чтение файла, лишняя итерация
Вопрос по функции feof(). Я так понимаю она должна сигнализировать о конце файл, если был прочитан последний байт файла. Но у меня в...

При чтение из файла появляется лишняя запись
Программа при чтение из файла дублирует последнюю запись файла.Можете объяснить в чём тут ошибка.В заранее благодарен #include...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru