Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 64
1

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

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

Author24 — интернет-сервис помощи студентам
Возникла проблема не могу понять с какой стороны ее решить.

Работающий код:
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'"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2011, 10:11
Ответы с готовыми решениями:

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

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

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

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

9
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
24.02.2011, 11:00 2
C++
1
Edit2->Text.с_str()
?
1
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 64
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 *)
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
24.02.2011, 11:22 4
C++
1
url = L"http://www.site.ru/this.html";
попробуй с прежним t_str()
0
13 / 13 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.02.2011, 11:25 5
Edit2 - это у Вас класс, или едитбокс?
0
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 64
24.02.2011, 11:37  [ТС] 6
Цитата Сообщение от accept Посмотреть сообщение
C++
1
url = L"http://www.site.ru/this.html";
попробуй с прежним t_str()
это я что-то не понял.

Цитата Сообщение от CyberHunter Посмотреть сообщение
Edit2 - это у Вас класс, или едитбокс?
едитбокс
0
13 / 13 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.02.2011, 11:41 7
Как-то видел, что у людей возникают проблемы с кодировкой, похоже там юникод. Попробуйте функцию AnsiToOem(), если мне не изменяет память...
1
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 64
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);
...
Над этими строкаи в с++ явно что-то перемудрили, в делфи было намного проще.
0
13 / 13 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.02.2011, 19:52 9
Цитата Сообщение от Zubossi Посмотреть сообщение
CharToOem
- в точку!
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
25.02.2011, 05:16 10
Цитата Сообщение от Zubossi
это я что-то не понял.
Код
Cannot convert 'wchar_t *'
wchar_t * подразумевает широкосимвольную строку, которая задаётся с L
широкосимвольная строка - строка состоящая из широких символов, а широкий символ - это многобайтовый символ
C
1
url = "http://www.site.ru/this.html";
это строка однобайтовых символов, так как в ней нет L
0
25.02.2011, 05:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2011, 05:16
Помогаю со студенческими работами здесь

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

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

Непонятности с форматом поля
Натолкнулся на такой (на мой не опытный взгляд) глюк. Проблема в следующем есть документ который...

Непонятности с корнем n степени
Доброго времени суток. Имеется кусок кода: z = 0; for (i = 99; i &gt;= 3; i -= 3) { i...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru