powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / EAccessViolation при работе с cout.
7 сообщений из 7, страница 1 из 1
EAccessViolation при работе с cout.
    #34273570
CoutProblem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#include <iostream>
#include <string>
using namespace std;
#pragma argsused
int main(int argc, char* argv[])
{
string s="aaa";
cout << s << endl;
return 0;
}
//------

В строке cout << s << endl; EAccessViolation.
Если заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает.

Какие будут соображения?
...
Рейтинг: 0 / 0
EAccessViolation при работе с cout.
    #34273573
CoutProblem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CoutProblem//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#include <iostream>
#include <string>
using namespace std;
#pragma argsused
int main(int argc, char* argv[])
{
string s="aaa";
cout << s << endl;
return 0;
}
//------

В строке cout << s << endl; EAccessViolation.
Если заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает.

Какие будут соображения?

Забил сказать, ошибка возникает в C++ Builder'e.
В Dev-C++, к примеру, такой нет.
...
Рейтинг: 0 / 0
EAccessViolation при работе с cout.
    #34273644
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
незнаю че у тебя за траблы, я сделал File-new-other-consolewizard
потом вставил твой код и все нормально откомпилило и запустило без аксесов
...
Рейтинг: 0 / 0
EAccessViolation при работе с cout.
    #34273647
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще зачем ты #include <vcl.h> написал, оно и без ВЦЛ работает
...
Рейтинг: 0 / 0
EAccessViolation при работе с cout.
    #34273685
CoutProblem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sashka304а вообще зачем ты #include <vcl.h> написал, оно и без ВЦЛ работает

Bez <vcl.h> -> [linker error].
U menja, lichno, podozrenie chto kakie-to problemi s opcijami, sam code v porjadke.
...
Рейтинг: 0 / 0
EAccessViolation при работе с cout.
    #34274116
Фотография VirtualMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсли заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает.

Какие будут соображения?

Соображения такие, что для string не переопределен оператор "<<"
string это НЕ СТРОКА, ЭТО ОБЪЕКТ!
cout знает что делать со строкой, но не знает что делать с объектом string.
Иными словами ты "пихаешь в принтер бумагу в упаковке".

Совет: не парься, а выводи как "cout << s.c_str()<< endl;" и будет тебе счастье!
...
Рейтинг: 0 / 0
EAccessViolation при работе с cout.
    #34274224
CoutProblem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VirtualMan авторЕсли заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает.

Какие будут соображения?

Соображения такие, что для string не переопределен оператор "<<"
string это НЕ СТРОКА, ЭТО ОБЪЕКТ!
cout знает что делать со строкой, но не знает что делать с объектом string.
Иными словами ты "пихаешь в принтер бумагу в упаковке".

Совет: не парься, а выводи как "cout << s.c_str()<< endl;" и будет тебе счастье!

Dlja menja to chto dlja string ne pereopredelen operator<< - novostj !

Iz C++ Builder dokumentaciji.

template<class charT, class traits, class Allocator>
basic_istream<charT, traits>& operator>>
(istream&, basic_string&);
template <class charT, class traits, class Allocator>
basic_ostream<charT, traits>& operator<<
(ostream&, const basic_string&);
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / EAccessViolation при работе с cout.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]