Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zubossi
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 62
#1

Непонятности со строками - C++

24.02.2011, 10:11. Просмотров 567. Ответов 9
Метки нет (Все метки)

Возникла проблема не могу понять с какой стороны ее решить.

Работающий код:
C++
1
2
3
4
...
url = "http://www.site.ru/this.html";
file = InternetOpenUrl(session, url, 0, 0, 0, 0);
...
Не работающий код:
C++
1
2
3
...
file = InternetOpenUrl(session, Edit2->Text.t_str(), 0, 0, 0, 0);
...
По любому программа компилируется, но при выполнении второго варианта С++ Builder 2010 выдает "Project Project2.exe raised excaption class EAccessViolation with message 'Access Violation'"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2011, 10:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Непонятности со строками (C++):

Непонятности с корнем n степени - C++
Доброго времени суток. Имеется кусок кода: z = 0; for (i = 99; i >= 3; i -= 3) { i += z; z = exp(1/n * log(i));

Три непонятности: память в union, указатель на функцию и -> - C++
Не пойму: 1) как в union по одному адресу хранят кучу разных переменных? 2) растолкуйте указатель на функцию " Можно определить...

Непонятности в БД - MySQL
Всем добрый вечер (ночь, утро, день), уважаемые форумчане! есть необходимость перенести сайт с сервера фирмы, где он ныне живет, на...

Непонятности с оперативкой - Оперативная память
Дело вот в чём - прикупил Patrior memory DDR2 2GB PC2-6400 (800MHz) DIMM (PSD22G80026) 2 штуки - ...

Непонятности с системой - Windows 7
Здравствуйте. В последнее время системе, вдруг, стало не хватать оперативной памяти, ничего не устанавливал, никаких обновлений не...

непонятности win7 - Windows 7
Доброго времени суток. Есть 2 проблемы, одну из них проблемой не назвать, она скорей мелочь, вторая уже реально как проблема. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.02.2011, 11:00 #2
C++
1
Edit2->Text.с_str()
?
Zubossi
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 62
24.02.2011, 11:10  [ТС] #3
Так даже компилироваться не хочет.

[BCC32 Error] Unit2.cpp(45): E2034 Cannot convert 'wchar_t *' to 'const char *'
Full parser context
Unit2.cpp(22): parsing: void _fastcall TForm2::Button1Click(TObject *)
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.02.2011, 11:22 #4
C++
1
url = L"http://www.site.ru/this.html";
попробуй с прежним t_str()
CyberHunter
12 / 12 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.02.2011, 11:25 #5
Edit2 - это у Вас класс, или едитбокс?
Zubossi
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 62
24.02.2011, 11:37  [ТС] #6
Цитата Сообщение от accept Посмотреть сообщение
C++
1
url = L"http://www.site.ru/this.html";
попробуй с прежним t_str()
это я что-то не понял.

Цитата Сообщение от CyberHunter Посмотреть сообщение
Edit2 - это у Вас класс, или едитбокс?
едитбокс
CyberHunter
12 / 12 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.02.2011, 11:41 #7
Как-то видел, что у людей возникают проблемы с кодировкой, похоже там юникод. Попробуйте функцию AnsiToOem(), если мне не изменяет память...
Zubossi
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 62
24.02.2011, 13:19  [ТС] #8
Цитата Сообщение от CyberHunter Посмотреть сообщение
Как-то видел, что у людей возникают проблемы с кодировкой, похоже там юникод. Попробуйте функцию AnsiToOem(), если мне не изменяет память...
Выходит ошибка:
[BCC32 Error] Unit2.cpp(42): E2268 Call to undefined function 'AnsiToOEM'
Full parser context
Unit2.cpp(21): parsing: void _fastcall TForm2::Button1Click(TObject *)

я так полагаю из-за отсутствия нужного хедера?
У меня подключено:
#include <vcl.h>
#include <fstream.h>
#include <windows.h>
#pragma link "wininet.lib"

в каком хедере распологается эта функция, если в этом проблема?

Добавлено через 40 минут
Всем спасибо, заработали в таком составе:

C++
1
2
3
4
5
...
char *url;
url = new char[127];
CharToOem(Edit2->Text.t_str(), url);
...
Над этими строкаи в с++ явно что-то перемудрили, в делфи было намного проще.
CyberHunter
12 / 12 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.02.2011, 19:52 #9
Цитата Сообщение от Zubossi Посмотреть сообщение
CharToOem
- в точку!
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.02.2011, 05:16 #10
Цитата Сообщение от Zubossi
это я что-то не понял.
Код
Cannot convert 'wchar_t *'
wchar_t * подразумевает широкосимвольную строку, которая задаётся с L
широкосимвольная строка - строка состоящая из широких символов, а широкий символ - это многобайтовый символ
C
1
url = "http://www.site.ru/this.html";
это строка однобайтовых символов, так как в ней нет L
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2011, 05:16
Привет! Вот еще темы с ответами:

Непонятности с отображением сайта - Web
Привет, гуру и не очень:) Недавно возникла одна непонятность. Надо было капельку поредактировать сайт. Я слил его себе на комп и...

Непонятности с оперативной памятью - Оперативная память
С пол года назад начались у меня проблемы , стал выскакивать синий экран, пока в один день при включении не стал грузиться БИОС . Купил две...

непонятные непонятности происходят - Удаление вирусов
хз что с компом твоирится. комп не мой, по словам хозяина вылазит порносайт на одноклассниках, какие-то игры незнакомые появляются и еще...

Непонятности с жестким диском - Жесткие диски
Возникла проблема с жд Seagate Backup Plus Portable Drive SRD0SP0. После отключения компьютера, компьютер повис и вылезла куча системных...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.02.2011, 05:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru