Работа с указателями
От: F1aSh  
Дата: 21.12.04 14:14
Оценка:
У мну есть указатель1 типа char на такую вот последовательность символов
*(str1) = символ, *(str1 + 1) = символ..... *(str1 + n) = символ, *(str + n + 1) = '.' *(str1 + n + 1 + и так далее до m) = символ
Есть ещё один указатель типа int
*(str2) = цифра, *(str2 + 1) = цифра, *(str2 + z) = цифра
так вот мне нада *(str1 + 1... + n) (то что до точки) заменить на str2

На моем примере. У мну 2 числа. одно реал, другое инт. Нада инт заменить на целую часть реал... Одно побайтово забито в память как char другое как инт
пример
3333111.0099 — real
23 — int
Результат нада получить
23.0099

Помогите. Почти сделал задание... Паслэдний щтьрих... =(
Re: Работа с указателями
От: Glоbus Украина  
Дата: 21.12.04 14:25
Оценка:
Здравствуйте, F1aSh, Вы писали:


FS>Помогите. Почти сделал задание... Паслэдний щтьрих... =(


#include <string>

void replace( const std::string& _src, const std::string& _with, std::string& _res )
{
    size_t pos = _src.find( '.', 0 );
    if( pos != std::string::npos )
    {
        _res  = _with + _src.substr( pos, _src.length() - pos );
    }//if
}


 
int main()
{
    std::string result;
    replace( "123.456", "000", result );
}
Удачи тебе, браток!
Re[2]: Работа с указателями
От: F1aSh  
Дата: 22.12.04 01:56
Оценка:
Здравствуйте, Glоbus, Вы писали:

G>Здравствуйте, F1aSh, Вы писали:



FS>>Помогите. Почти сделал задание... Паслэдний щтьрих... =(


G>
G>#include <string>

G>void replace( const std::string& _src, const std::string& _with, std::string& _res )
G>{
G>    size_t pos = _src.find( '.', 0 );
G>    if( pos != std::string::npos )
G>    {
G>        _res  = _with + _src.substr( pos, _src.length() - pos );
G>    }//if
G>}


 
G>int main()
G>{
G>    std::string result;
G>    replace( "123.456", "000", result );
G>}
G>


работает. при том работает классно! Но вот что означают эти строки...
Можно ли использовать using namespace std; и не писать std::string, а просто string?
Что обозначают нижние подчеркивания... Вобщем, не могли бы вы объяснить каждую строку, ну есестнна кроме инклудов и объявления переменной, а также вызова функция — это я все , слава богу знаю, а вот что творится внутри ыункции replace понять не могу. Какие парамеры она принимает, что за префиксы _src, _with, _res... вобщем вся функция непонятна. =((
Объясните плиз на пальцах, я больше не буду приставать с глупыми вопросами...
Re: Работа с указателями
От: Андрей Тарасевич Беларусь  
Дата: 22.12.04 02:06
Оценка:
Здравствуйте, F1aSh, Вы писали:

FS>У мну есть указатель1 типа char на такую вот последовательность символов

FS>*(str1) = символ, *(str1 + 1) = символ..... *(str1 + n) = символ, *(str + n + 1) = '.' *(str1 + n + 1 + и так далее до m) = символ
FS>Есть ещё один указатель типа int
FS>*(str2) = цифра, *(str2 + 1) = цифра, *(str2 + z) = цифра
FS>так вот мне нада *(str1 + 1... + n) (то что до точки) заменить на str2

Что значит "цифра" в данном случае? Код символа '0' — '9'? Или само значение цифры?
Best regards,
Андрей Тарасевич
Re[2]: Работа с указателями
От: F1aSh  
Дата: 22.12.04 07:03
Оценка:
Здравствуйте, Андрей Тарасевич, Вы писали:

АТ>Что значит "цифра" в данном случае? Код символа '0' — '9'? Или само значение цифры?


само значение...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.