char szString[] = "1234567890";
char szResult[11];
int nDel = 5;
int nCounter = 0;
int nCounter2 = 0;
while (nCounter <= strlen(szString))
{
if (nCounter != nDel)
{
szResult[nCounter2] = szString[nCounter];
nCounter++;
nCounter2++;
}
else
{
nCounter++;
}
}
Как удалить символ из строки ?
Как удалить символ с номером n из строки char *s?
Цитата:
Originally posted by Lazy_Man
Как удалить символ с номером n из строки char *s?
Как удалить символ с номером n из строки char *s?
Код:
szString - строка из которой удаляем сивол
szResult - строка куда запишем результат
nDel - номер удаляемого символа (равен 5)
nCounter, nCounter2 - счечики
При таком расладе до выполнения программы строка имеет вид:
"1234567890"
После:
"123457890"
Код:
char *s;
s = new char[11];
strcpy(s, "1234567890");
char szResult[11];
int nDel = 5;
int nCounter = 0;
int nCounter2 = 0;
while (nCounter <= strlen(s))
{
if (nCounter != nDel)
{
szResult[nCounter2] = *(s+nCounter);
nCounter++;
nCounter2++;
}
else
{
nCounter++;
}
}
delete[] s;
s = new char[11];
strcpy(s, "1234567890");
char szResult[11];
int nDel = 5;
int nCounter = 0;
int nCounter2 = 0;
while (nCounter <= strlen(s))
{
if (nCounter != nDel)
{
szResult[nCounter2] = *(s+nCounter);
nCounter++;
nCounter2++;
}
else
{
nCounter++;
}
}
delete[] s;
Зачем так сложно? :D
Цикл то тебе зачем?
Код:
char* func(char* str, size_t n)
{
int len = strlen(str)-n;
if(len>0)
memmove(str+n, str+n+1, len);
return str;
}
{
int len = strlen(str)-n;
if(len>0)
memmove(str+n, str+n+1, len);
return str;
}
Цитата:
Originally posted by Green
Для Digi:
Зачем так сложно? :D
Цикл то тебе зачем?
Для Digi:
Зачем так сложно? :D
Цикл то тебе зачем?
Код:
char* func(char* str, size_t n)
{
int len = strlen(str)-n;
if(len>0)
memmove(str+n, str+n+1, len);
return str;
}
{
int len = strlen(str)-n;
if(len>0)
memmove(str+n, str+n+1, len);
return str;
}
Спасибочки, :). Буду теперь знать более короткий способ. :)