[C++] strcat op een std::string lukt niet *

Pagina: 1
Acties:

  • Emiel1984
  • Registratie: Maart 2005
  • Laatst online: 19-04 23:03

Emiel1984

Made in NL

Topicstarter
Ik ben bezig om tekst op te kunnen slaan met C++;
Omdat niet altijd elk tekst gedeelte even groot is wil ik spaties toevoegen om altijd dezelfde indeling te krijgen;

code:
1
2
3
4
5
6
7
8
        if (sNaam1.Length() <=10)
        {
                do
                {
                        strcat(sNaam1.c_str(),"_");
                        iAantal=sNaam1.Length();
                }while(sNaam1.Length()  <=10);
        }


Het probleem is dat de 'length' dezelfde waarde aan blijft geven. Weet iemand waarom/hoe ik dit op kan lossen.

PS: Zo zou het moeten worden uiteindelijke. De eerste regel zit er al als vaste waarde in.
Ik weet hoe ik tekst toe moet voegen. De "_" zullen spaties worden.

code:
1
2
================================================
Naam1__________| Naam2________|_ 2 -- 0_|_____2__________

[ Voor 6% gewijzigd door Emiel1984 op 05-01-2006 15:53 ]

[LTS][MTS][HTS]


  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

code:
1
sNaam1 += "_";

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11:53

.oisyn

Moderator Devschuur®

Demotivational Speaker

c_str() returnt een const char *, en die mag je dus niet aanpassen. Die buffer staat in essentie los van de string, de bewerkingen moet je op het string object zelf doen zoals Radiant al aangeeft.

Het is trouwens handiger om gewoon de append functie te gebruiken waarbij je een teken en een aantal op kunt geven, heb je dat hele lusje ook niet nodig

[ Voor 32% gewijzigd door .oisyn op 05-01-2006 16:01 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Emiel1984
  • Registratie: Maart 2005
  • Laatst online: 19-04 23:03

Emiel1984

Made in NL

Topicstarter
Thks :D, werkt.

@ .oisy; Ga er is naar kijken/googelen, thks.

[LTS][MTS][HTS]