[c] Usuwanie pierwszego znaku ze zmiennej
Ostatnio zmodyfikowano 2013-11-16 14:09
seomator Temat założony przez niniejszego użytkownika |
[c] Usuwanie pierwszego znaku ze zmiennej » 2013-11-14 19:32:03 Jak usunąć pierwszą literę ze zmiennej typu char ? |
|
pekfos |
» 2013-11-14 20:04:15 Zmienna typu char ma tylko jedną literę. |
|
Buby |
» 2013-11-14 20:11:07 Pewnie chodzi Ci o tablice znaków np. char tekst[]; Pierwszy znak ma liczbę pozycyjną 0, więc, aby zapisać resztę, możesz wykorzystać pętle for. Przykładowy kod: #include <stdio.h>
int main()
{ char tekst[] = "XTego X nie ma na poczatku"; size_t RozmiarTablicy = sizeof( tekst ); char TekstBezX[ RozmiarTablicy - 1 ]; size_t ilosc; size_t pozycja = 0; for( ilosc = 1; ilosc < RozmiarTablicy; ++ilosc ) { TekstBezX[ pozycja ] = tekst[ ilosc ]; ++pozycja; } printf( "%s", & TekstBezX ); }
Wyjście programu: Tego X nie ma na poczatku Pisane na szybko i nie testowane :) |
|
kubek3898 |
» 2013-11-14 20:12:59 @up
W C nie ma klasy std::string.
I od kiedy to typy wbudowane mają metody :D?
Jeśli już iść takim sposobem to najprościej użyć funkcji strncpy omijając pierwszy znak, lub sam sobie taką funkcję napisać.
@edit
Mój błąd funkcją strncpy, raczej tego nie zrobisz, ale prostą pętlą for już tak :)
Oczywiście są inne sposoby, i nie jestem pewny czy nie wystarczy do indeksu zerowego tablicy włożyć kod '\0' ale mogę (i pewnie tak jest) się mylić. |
|
pekfos |
» 2013-11-14 20:39:20 nie jestem pewny czy nie wystarczy do indeksu zerowego tablicy włożyć kod '\0' |
Wtedy 'usuniesz' wszystko. W sumie, to po co w ogóle modyfikować zawartość tablicy? char tab[] = "XBlabla"; puts( tab + 1 ); Blabla
|
|
seomator Temat założony przez niniejszego użytkownika |
» 2013-11-16 14:09:21 ***Mój błąd funkcją strncpy, raczej tego nie zrobisz, ale prostą pętlą for już tak :)***
Akurat się dało strcpy ;p |
|
« 1 » |