![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Работа с строками |
|
C/C++ - [решено] Работа с строками
|
![]() Старожил Сообщения: 467 |
Такая вот проблема: Надо работать с строками, например получить переменную INI = GetCurrentDir()+"\ini\options.ini"- так я делал в Visual Basic ("GetCurrentDir()" - получаем путь к ехе нашей программы, "\ini\options.ini" - кусок недостающего пути к ini файлу, тоесть наш ini файл лежал в папке ini, которая в свою очередь лежала возле нашей программы, а в переменной INI мы получали полный путь "C:\myprog\ini\options.ini"). Но в с++ так делать нельзя. Подскажите, пожалуйста, как решить мой вопрос.
|
|
Отправлено: 11:18, 24-03-2009 |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Delirium, я же С++ учу два дня. Огромное спасибо, а то я бы долго свой способ реализовывал
![]() |
------- Отправлено: 08:25, 25-03-2009 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
|
|
------- Отправлено: 09:28, 25-03-2009 | #12 |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Блин, вот код:
void RunWait(AnsiString EXEFILE); void RunWait(AnsiString EXEFILE) { char* command = EXEFILE.c_str(); STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); if(CreateProcess(NULL, command, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { WaitForSingleObject(pi.hProcess, INFINITE); } CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); } void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString exec=GetCurrentDir()+"\ShowCmdParam.exe /param1 /param2"; exec=AnsiReplaceStr(exec, "\\", "\\\\"); Label1->Caption= exec; RunWait("E:\\DPSelecter\\Debug\\ShowCmdParam.exe /sdasf /asfsdgfrdg"); } |
------- Отправлено: 10:24, 25-03-2009 | #13 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
crashtuak, не нужно вам ничего подменять - литералы со слэшем имеют особое значение только в коде программы - в памяти строки хранятся в обычном виде (без всяких удвоений \). Т.е. часть пути, которую указываете в коде явно "\ini\options.ini" надо набрать с двойным слэшем, а результаты работы функций никак преобразовывать не надо. |
|
Отправлено: 10:42, 25-03-2009 | #14 |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Busla, спасибо, наконец то нубу сказали что сделать!
![]() ![]() ![]() ![]() ![]() Цитата Busla:
|
|
------- Последний раз редактировалось crashtuak, 25-03-2009 в 11:46. Отправлено: 11:29, 25-03-2009 | #15 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
#include <string> using namespace std; int main() { string s1 = @"c:\temp"; return s1.size(); } |
|
Отправлено: 19:02, 25-03-2009 | #16 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата pva:
Согласен, я предложил неверный для crashtuak вариант. Я подумал, что ему просто надо строку получить с 2-мя слешами, а не то, что он пытается запустить команду в преобразованной строке. |
|
------- Отправлено: 01:21, 26-03-2009 | #17 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
StringRegExp - как получить содержимое между 2-мя строками | evg64 | AutoIt | 2 | 05-12-2009 01:19 | |
Какое событие соответствует перемещению между строками ListView | malev | AutoIt | 2 | 22-10-2009 15:32 | |
Разное - [решено] Работа программ. | 8Toxa8 | Microsoft Windows 2000/XP | 2 | 20-06-2008 23:58 | |
CMD/BAT - [решено] Работа со строками в cmd-файлах | melato | Скриптовые языки администрирования Windows | 3 | 30-01-2007 08:52 | |
Помогите разобратся со строками в С++ | Guest | Программирование и базы данных | 12 | 22-05-2004 04:49 |
|