char *strreplace(char *s, char ch1, char ch2)
{
char *ptr = s;
while(ptr)
{
if(*ptr==ch1)*ptr=ch2;
ptr++;
}
return s;
}
Замена символа
Код:
void strreplace(char * s, char ch1, char ch2) {
int i;
char * ptr;
if( s != NULL ) {
for( ptr=s,i=strlen(s) ; i > 0 ; i--,ptr++ ) {
if( *ptr == ch1 ) *ptr=ch2;
}
}
}
int i;
char * ptr;
if( s != NULL ) {
for( ptr=s,i=strlen(s) ; i > 0 ; i--,ptr++ ) {
if( *ptr == ch1 ) *ptr=ch2;
}
}
}
Код:
AnsiString fld = "hjhhj hhh ";
String result = strreplace(fld, "\r", "\t")
String result = strreplace(fld, "\r", "\t")
Подскажите, пожалуйста, как правильно?
Код:
void strreplace(char *s, char ch1, char ch2)
{
char *ptr = s;
while(ptr)
{
if(*ptr==ch1)*ptr=ch2;
ptr++;
}
}
{
char *ptr = s;
while(ptr)
{
if(*ptr==ch1)*ptr=ch2;
ptr++;
}
}
Код:
AnsiString fld = "hjhhj hhh ";
strreplace(fld.c_str(), '\r', '\t')
strreplace(fld.c_str(), '\r', '\t')
Цитата:
Originally posted by 123tk
Код:
void strreplace(char *s, char ch1, char ch2)
{
char *ptr = s;
while(ptr)
{
if(*ptr==ch1)*ptr=ch2;
ptr++;
}
}
{
char *ptr = s;
while(ptr)
{
if(*ptr==ch1)*ptr=ch2;
ptr++;
}
}
Код:
AnsiString fld = "hjhhj hhh ";
strreplace(fld.c_str(), '\r', '\t')
strreplace(fld.c_str(), '\r', '\t')
Так я пробовала, только присваивала
Код:
String result = strreplace
А можно же сделать так
Код:
String result = fld;
AnsiString fld = "hjhhj hhh ";
strreplace(fld.c_str(), ' ', '*');
AnsiString str = fld;
ShowMessage(str);
а String result = strreplace, не проходит, так как strreplace не возвращает результата. Нужно
Код:
Цитата:
Originally posted by richel
У меня есть функция по замене символа. Мне нужно в строке символ окончания строки ("\r") заменить на пробел. Не могу сообразить, как символы записать в функии. У меня путаница с типом данных.
Подскажите, пожалуйста, как правильно?
У меня есть функция по замене символа. Мне нужно в строке символ окончания строки ("\r") заменить на пробел. Не могу сообразить, как символы записать в функии. У меня путаница с типом данных.
Код:
void strreplace(char * s, char ch1, char ch2) {
int i;
char * ptr;
if( s != NULL ) {
for( ptr=s,i=strlen(s) ; i > 0 ; i--,ptr++ ) {
if( *ptr == ch1 ) *ptr=ch2;
}
}
}
int i;
char * ptr;
if( s != NULL ) {
for( ptr=s,i=strlen(s) ; i > 0 ; i--,ptr++ ) {
if( *ptr == ch1 ) *ptr=ch2;
}
}
}
Код:
AnsiString fld = "hjhhj hhh ";
String result = strreplace(fld, "\r", "\t")
String result = strreplace(fld, "\r", "\t")
Подскажите, пожалуйста, как правильно?
void strreplace(char * s, char ch1, char ch2) {
for (int i=0;i<strlen(s);i++)
if (s == ch1)
s=ch2;
}
AnsiString fld = "hjhhj hhh ";
String result = strreplace(fld.c_str(), '\r', '\t');
#include <StrUtils.hpp>
..................
AnsiString fld = "hjhhj hhh ";
AnsiString result = AnsiReplaceText(fld, "\r", "\t");
Сам не проверял, пишу на глаз.
Попробуй, вдруг поможет.
Цитата:
Originally posted by Lexogen
void strreplace(char * s, char ch1, char ch2) {
for (int i=0;i<strlen(s);i++)
if (s == ch1)
s=ch2;
}
AnsiString fld = "hjhhj hhh ";
String result = strreplace(fld.c_str(), '\r', '\t');
void strreplace(char * s, char ch1, char ch2) {
for (int i=0;i<strlen(s);i++)
if (s == ch1)
s=ch2;
}
AnsiString fld = "hjhhj hhh ";
String result = strreplace(fld.c_str(), '\r', '\t');
Сорры. Немного ошибся. Нужно так:
char * strreplace(char * s, char ch1, char ch2) {
for (int i=0;i<strlen(s);i++)
if (s == ch1)
s=ch2;
return s;
}
AnsiString fld = "hjhhj hhh ";
String result = strreplace(fld.c_str(), '\r', '\t');
Я уже все сделала.:)