![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' |
|
|
C/C++ - [решено] cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*'
|
Новый участник Сообщения: 17 |
Всем привет!
Работаю с плюсами недавно, перехожу с PHP, и уже понял, что знакомство будет долгим :D Возникла проблема с разными типами данных в разных функциях. Вот у меня имеется простенькая функция: Цитата:
Цитата:
Цитата:
Цитата:
Что тут можно сделать? Затыкнулся в самом начале) Заранее благодарен! |
|||||
Отправлено: 01:51, 27-03-2014 |
Пользователь Сообщения: 121
|
Профиль | Отправить PM | Цитировать Цитата Acuna:
Попробуйте воспользоваться методом c_str. Скорее всего поможет. |
|
Отправлено: 08:27, 27-03-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата torauma:
|
|
------- Отправлено: 12:04, 27-03-2014 | #3 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать torauma, Drongo, большое спасибо!
Честно сказать, ни в коем случае не хочу никого обидеть, но я разочарован. Я почти 7 лет пишу на PHP в крупном проекте. С плюсами пришлось иметь дело, ибо решил создать один проектик для души. В общем, много говорится о языках высокого уровня, как это круто и мощно, но как же так? Проблемы возникают на каждом символе! То нельзя, то недоработано, того нет. С массивами можно работать только благодаря огромной библиотеке map, нет даже банальной str_replace! Находил в инете много примеров ее, но большинство из них - классы на пол страницы. Понятно, что языки такого рода - это просто каркас, и на нем каждый пишет так, как считает нужным, но стоит ли тратить время на такую писанину, которую можно сократить в разы? Да и оптимально ли это, когда одни и те же функции пишут люди с разным уровнем знаний и умений? Начиная писать на сях, я думал, что меня будет удивлять каждый символ, я буду говорить "Вау!", "О даааа!", Он такой классный!", "Все-таки PHP - это #&%№". А что я получил в итоге? Еле рабочий и то с кучей костылей код, и то который неизвестно как будет вести себя на разных машинах... С PHP вообще проблем такого рода никогда не было. Жаль, конечно, что он только сетевой... Розовые очки разбились, честно сказать( |
Последний раз редактировалось Acuna, 29-03-2014 в 14:18. Отправлено: 14:11, 29-03-2014 | #4 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Acuna, вы слишком рано делаете выводы - вы ещё слишком мало познали С++
![]() 1) в своём коде вы перемешали С и С++. std::string - это из С++ fopen - это из С 2) вот вам пример чтения из файла #include <iostream> #include <fstream> #include <algorithm> #include <iterator> #include <sstream> void main() { std::string file_name("test.txt"); std::ifstream file(file_name); std::ostringstream result_sstr; std::copy(std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>(), std::ostreambuf_iterator<char>(result_sstr)); std::cout << result_sstr.str() << std::endl; } ![]() |
|
Отправлено: 19:33, 22-04-2014 | #5 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Acuna, любое познание нового начинается со слов: "забудьте всё, что знали до этого". C++ вырос на C, вобрал в себя огромный опыт разработчиков в т..ч. низкого уровня, достаточно изощрённых инженеров. PHP предназначен чтобы быстро слабать на коленке домашнюю страничку (без обид, метафора). Чтобы почувствовать красоту и мощь C++ требуется знать много мат.части, абстракций и приёмов программирования (на низком уровне). Оттуда и трудности у начинающих). Моя первая "hello c++", 15 лет назад, вообще не скомпилировалась.
Холивар по пунктам: Цитата Acuna:
Цитата Acuna:
Цитата Acuna:
1. использовать вашу любимую реализацию (из любой библиотеки) 2. заменить на месте (в строке) - for(p1=0; 1+(p1=str.find("what", p1)); str.replace(p1, 4, "to"), p1+=2) {} 3. заменить в другой буфер (если заранее выделить память - будет работать экстремально быстро) - for(p1=0; (out.append(str, p1, (p2=str.find("what", p1))-p1), p2+1); out.append("to"), p1=p2+4) {} 4. заменить с выводом в поток (позволяет офигительно экономить память в некоторых случаях) - for(p1=0; (out.write(&str[p1], (p2=str.find("what", p1))-p1), p2+1); out.write("to"), p1=p2+4) {} и т.д. 3 реализации, менее, чем на пол-страницы Цитата Acuna:
Acuna, если у вас задача сделать быстро и не париться, то С++ - не для вас. Он для сугубо дотошных людей, которым надо чтобы было идеально. Если цель узнать, что в нём другие нашли - добро пожаловать, спрашивайте - расскажем. Запаситесь терпением, там ооочень много всего. |
||||
Отправлено: 20:52, 22-04-2014 | #6 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать pva,
Цитата:
![]() Ну и всем известно, что практически все известные крупные веб-ресурсы написаны на PHP: eBay, Amazon - это PHP и немного Java, Facebook и некая небезызвестная маргинальная социальная сеть - это чистый PHP, и т. д. А ведь это даже не сайты, они называются "продукты". О как!) Особенно когда сейчас все уходит в облака, это особенно актуально. Так что возможно дело просто в понимании того или иного вопроса? ![]() Цитата:
![]() Цитата:
|
|||
Отправлено: 18:35, 24-04-2014 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Acuna:
|
|
Отправлено: 21:12, 24-04-2014 | #8 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата Acuna:
Цитата Acuna:
Также придерживаюсь мнения о нужности варнингов компилятора и отладчика, ассертов и юнит-тестов |
||
Отправлено: 22:09, 24-04-2014 | #9 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать pva, хм, интересно... Я о Java не думал... И консольные приложения тоже можно на ней писать? У меня консольное.
Ну да ладно, не каждый день попробуешь С++ все-таки ![]() Iska, что Вы имеете ввиду? Если поддержку utf-8 в проектах, то окончательно на нее перешли уже давно. Функции для работы с многобайтовыми кодировками (не обязательно utf-8) были введены несколько лет назад, и за эти годы уважающие себя проекты полностью перешли на нее. Хотя изначально это было сродни проблеме 2k. Ну ничего, все всё переписали. Теперь это уже считается просто стандартом де-факто. Цитата:
|
|
Последний раз редактировалось Acuna, 26-04-2014 в 13:11. Отправлено: 13:03, 26-04-2014 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Ошибка во время установки Windows 2012 Std на Hyper-V (Host Win2012 Std)) | Farxat | Windows Server 2012/2012 R2 | 1 | 18-03-2013 14:56 | |
[решено] Exchange 2010 std + WS2012 std | bee_loky | Windows Server 2012/2012 R2 | 1 | 15-01-2013 22:13 | |
C/C++ - std::string - переделать символы в 16-bit Unicode | crashtuak | Программирование и базы данных | 1 | 21-08-2012 17:19 | |
C/C++ - int в char, когда int > char | crashtuak | Программирование и базы данных | 2 | 21-08-2012 17:13 | |
DNS/DHCP - Сетевые параметры на серверах <Windows Server 2003 Std + ISA 2006> | Yappi | Сетевые технологии | 5 | 14-10-2008 13:58 |
|