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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
#1

Перевод строки - C++

16.08.2010, 18:46. Просмотров 2182. Ответов 20
Метки нет (Все метки)

Уважаемые программисты,подкиньте рабочий код что бы вместо точки с запятой можно было передать перевод строки,после чего выполнялась бы последовательность команд , вот часть кода (часть,сказали надо на ассемблере писать)помогите с кодом
C++
1
2
3
while (*sstr++) {
if(*sstr)==";" { *sstr = "\r"
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2010, 18:46     Перевод строки
Посмотрите здесь:

Строки. перевод - C++
Привет всем. такое вот задание есть В строке найти все числа в десятичной системе счисления, сформировать новую строку, в которой...

перевод строки - C++
возник вопрос,который я считал простым,а сейчас не могу решить. вообщем так,нужно чтобы после запроса ввода,вывод был на той же строке ...

Перевод дабла из строки - C++
Всем привет. Есть проблема - нужно из строки, начиная с позиции l, вытянуть число с плавающей точкой, при этом нужно узнать, сколько...

Перевод строки в число - C++
У меня по заданию нужно в строку ввести числа через пробелы а потом убрать пробелы и перевести из строки в число мои цифры. #include...

Перевод из строки в число - C++
Извиняюсь, если такая тема уже была. Есть строка s. В ней записано 2 вещественных числа. Нужно оба записать в переменные типа float....

Перевод строки в число - C++
Помогите пожалуйста. Требуется перевести строку типа string в число типа long double. К примеру string str = "1111.11" long double...

Перевод из строки в число - C++
Каким способом можно перевести строчку типа "System::String ^" в тип double?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
16.08.2010, 18:50     Перевод строки #2
C
1
2
3
4
5
6
7
while ( *sstr ){
    if ( *sstr == ';' ){
        *sstr = '\n';
        /* последовательность команд */
    }
    ++sstr;
}
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
16.08.2010, 19:04  [ТС]     Перевод строки #3
то есть получалось /callvote map mp_backlot а мне надо /callvote "map ; rcon_password;" этот код подойдет?мне сразу надо что бы переход делала строки на следующую команду
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
16.08.2010, 19:09     Перевод строки #4
Этот код сделает из этого:
Код
 /callvote "map ; rcon_password;"
вот это:
Код
 /callvote "map 
 rcon_password
 "
Т.е. он вставляет вместо символа ';' символ новой строки
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
16.08.2010, 19:31     Перевод строки #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void){
    char cmdStr[BUFSIZ] = { 0 }, inStr[BUFSIZ] = "echo hello world;echo goodbye world;", * pInStr, * pStartCmd;
 
    for ( pStartCmd = pInStr = inStr; *pInStr; ++pInStr ){
        if ( *pInStr == ';' ){
            strncpy(cmdStr, pStartCmd, pInStr - pStartCmd);
            system(cmdStr);
            pStartCmd = pInStr + 1;
        }
    }
 
    exit(EXIT_SUCCESS);
}
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
16.08.2010, 19:43  [ТС]     Перевод строки #6
нет вот есть стандартные команды map_restart,map_rotate и т.п. и проводится они голосванием по такой прописи /callvote map mp_backlot , а если вместо точки с запятой передать перевод строки, то выполнится последователность команд таким образом в конечном итоге будет выглядеть /callvote map "mp_backlot;rcon_password(произвольная команда)"
easybudda
16.08.2010, 19:51
  #7

Не по теме:

Цитата Сообщение от twista Посмотреть сообщение
нет вот есть стандартные команды map_restart,map_rotate и т.п. и проводится они голосванием по такой прописи /callvote map mp_backlot , а если вместо точки с запятой передать перевод строки, то выполнится последователность команд таким образом в конечном итоге будет выглядеть /callvote map "mp_backlot;rcon_password(произвольная команда)"
Вам бы шарады составлять...

twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
17.08.2010, 14:53  [ТС]     Перевод строки #8
ок спс)можете мне этот код в машинный скомпилировать
C++
1
2
3
4
5
6
7
while ( *sstr ){
    if ( *sstr == ';' ){
        *sstr = '\n';
        /* последовательность команд */
    }
    ++sstr;
}
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
17.08.2010, 14:55     Перевод строки #9
twista, это весь код, который нужно скомпилировать?
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
17.08.2010, 14:57  [ТС]     Перевод строки #10
да это весь
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
17.08.2010, 15:03     Перевод строки #11
Не хочу тебя огорчать, но ничего не получится
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
17.08.2010, 16:51  [ТС]     Перевод строки #12
почему?о_О
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
17.08.2010, 17:00     Перевод строки #13
Потому что в таком виде оно не скомпилируется
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
17.08.2010, 17:01     Перевод строки #14
Цитата Сообщение от twista Посмотреть сообщение
почему?о_О
Попробуйте к велосипедному рулю приделать звонок и покататься на том, что получится.
Это не законченная программа, это даже не функция - просто кусок кода. Ни один компилятор не поймёт, что Вы от него хотите...
Кстати, Вы бы подробно и по возможности понятно объяснили, чего Вы добиться пытаетесь - и нам бы Вам помочь проще было...
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
21.08.2010, 13:11  [ТС]     Перевод строки #15
мне надо этот код,запихать в exe файл...но мне сказали что надо его сначала в машинный код скомпелировать...вот и спросил...
C++
1
2
3
4
5
6
7
while ( *sstr ){
    if ( *sstr == ';' ){
        *sstr = '\n';
        /* последовательность команд */
    }
    ++sstr;
}
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
21.08.2010, 13:39     Перевод строки #16
Цитата Сообщение от twista Посмотреть сообщение
мне надо этот код,запихать в exe файл...но мне сказали что надо его сначала в машинный код скомпелировать...
Ерунда какая-то. Переменная sstr должна указывать на какую-то последовательность байтов в памяти. Указатель на что должен в этот блок кода в собранном exe файле передаваться? Даже если и написать програмку, содержащую этот код, скомпилировать и найти в скомпилированном файле место, с которого блок начинается - каким макаром его из одного exe файла в другой exe файл запихивать собираетесь? Копи-пастом в хекседите?
illuminati
20 / 20 / 4
Регистрация: 14.06.2010
Сообщений: 108
21.08.2010, 13:56     Перевод строки #17
Если в ехешник нужно параметры передавать, не проще ли через *.bat ?
Собственно что я понял... Это игра какая-то что-ли?
twista
0 / 0 / 0
Регистрация: 31.05.2010
Сообщений: 79
21.08.2010, 14:03  [ТС]     Перевод строки #18
вот что мне надо:1.Есть exe файл сетевой игры.2.В нем есть функция голосования на серверах ,которая производится командой /callvote map mp_bloc(пример карты)3.Мне нужно найти в exe нике строку отправки голосования на сервер и сказать в этой строке что бы она за место ; делала переводы строк 4.в конечном итоге зайдя на какой либо сервер мне надо что бы я после осоновной команды мог вставить после ; другую команду (пример:/callvote map "mp_bloc ; rcon_password 231"
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
21.08.2010, 14:05     Перевод строки #19
twista,
Вы что пытаетесь сделать? Модифицировать сторонний экзешник, добавив в него данный код?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2010, 14:15     Перевод строки
Еще ссылки по теме:

Перевод из строки в число - C++
Снова я =) Работаю над калькулятором. С функцией ввода разобрался. Значит есть строка ввода. рабочая. заполняет массив buf . Потом...

Перевод строки в дату - C++
Вопрос: есть строка &quot;2013-06-28 19:00:00.000&quot;. Как её привести к типу дата? Нужно для последующего сравнения.

Перевод строки в число - C++
Задание таково: нужно создать функцию, которая переводит строку из чисел типа string в число типа double (строку string нужно! посимвольно...

Перевод строки в число - C++
Задание состоит в том, что нужно строку перевести в математическое выражение. Начальными данными есть строка, которая имее...

Перевод из строки в число - C++
Подскажите в чем ошибка. Метод должен принимать строку в виде $456 654 456.36 и выдавать число типа double. double bMoney::getmoney() ...


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

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
21.08.2010, 14:15     Перевод строки #20
Плохой ответ. Даже если тредстартер умудрится запихать экзешник в отладчик, сдаётся мне, он закалебётся пыль глотать, вычленять оттуда участок, соответствующий приведённому коду.

Тредстартер, странный ты парень. Я тебе что сказал в той теме делать?
Вставка кода в exe-ый файл

Ну, короче, вот тебе один из выходов из ситуации.
Берёшь компилятор компилятр gcc (кстати, он идёт в комлекте с DEV C++) и вот эту книгу:
GCC_полное_руководство_Артур_Гриффитс.djvu (ищешь в инете)

Теперь читаешь там среди всего прочего в разделе "атрибуты, используемые при объявлении функций"

section "функция с таким атрибутом будет иметь именованные разделы (секции) ассемблерного кода (вместо одного раздела text по умолчанию). Вот пример заголовка функции, имеющей раздел с именем specials:

void mspec (void) __atribute__ ((section "specials")));

Этот атрибут будет игнорироваться в системах, не поддерживающих секционирование"


Так, теперь тебе твой код надо оформить в виде функции, например, так: (не забывая про main и прочие правила написания кода)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void mspec (void) __attribute__ ((section ("specials")));
 
void mspec (void) {
 while ( *sstr ){
    if ( *sstr == ';' ){
        *sstr = '\n';
    }
    ++sstr;
  }
 }
 
 
 
int main () {
 return 0;
}

Эта херь не скомпильнётся, конечно. но ты уж сообщи компилятору указатель на какой тип данных есть переменная sstr и с чем её едят.

Смысл такой: должна создаться секция "specials", содержание которой- есть твой код. Ничего лишнего, только самое необходимое. Пожалуйста, дампируй его содержимое любым известным тебе способом (с помощью отладчика, hex-редактора или вручную и прописывай куда тебе надо)

Второй способ такой: (я бы его предпочёл) написать этот код непосредственно на асме. Конечно придётся подучиться. Ну так ты сходи на васм и там с чувстом, с толком, с расстановкой объясни чё тебе надо. Там огонь-ребята и все, как на подбор- отличники. Помогут.

Добавлено через 2 минуты
И если ты сможешь нужный тебе код скропать (по хер каким способом), тогда ибудем обсуждать КАК ЕГО ВСТАВИТЬ в экзешник. Но, наверое, не здесь. Здесь, похоже, это не приветствуется.

Добавлено через 2 минуты
Цитата Сообщение от twista Посмотреть сообщение
Мне нужно найти в exe нике строку отправки голосования на сервер
ну я так понял, ты это умеешь делать? Нет? ТОгда займись исследованием программ. Зайди ко мне в личку, дам ссыль.
Yandex
Объявления
21.08.2010, 14:15     Перевод строки
Ответ Создать тему
Опции темы

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