Avatar billede netro Nybegynder
24. maj 2005 - 10:59 Der er 4 kommentarer og
1 løsning

Fjerne tre tegn fra char-array

Jeg vil gerne have flyttet alle elementer i et char-array tre pladser frem og kunne anvende det bagefter uden de tre sidste tegn, men jeg kan ikke helt få det til at fungere. Hvad er fejlen?

char arr[1024];
int i=3;
for(; i<strlen(arr)-1; i++)
  arr[i-3]=arr[i];
arr[i+1]=0x0;
cout << arr;
Avatar billede arne_v Ekspert
24. maj 2005 - 11:04 #1
prøv:

memmove(arr,arr+3,strlen(arr)-2);
Avatar billede segmose Nybegynder
24. maj 2005 - 11:22 #2
char arr[1024];
char *parr = arr;

Hvis du bare vil ignorere de 3 første tegn og ikke vil flytte.
parr += 3;
Avatar billede thomas_nj Nybegynder
24. maj 2005 - 11:39 #3
Hvis jeg har forstået dig rigtigt så må følgende være cirka hvad du leder efter:

#include <iostream>
#include <cstdlib>

using namespace std;


int main()
{
char arr[1024]="hej med dig";

for(int i=strlen(arr)-1; i>=0; i--)
{
if(i>=3)
{
  arr[i]=arr[i-3];
}

else
{
  arr[i]=' '; // Her sætter du så det tegn du vil have ind foran ind.
}
}

cout<<arr<<endl;

system("pause");
return 0;
}

  Her bliver tegnene i arr flyttet 3 pladser frem på bekostning af "ig!". Foran har jeg bare fyldt ud med mellemrum men der kan du jo bare bytte ud med hvad end du har brug for.
Avatar billede netro Nybegynder
25. maj 2006 - 02:42 #4
Jeg har helt glemt dette spørgsmål. Smid bare et svar alle sammen.
Avatar billede arne_v Ekspert
25. maj 2006 - 03:02 #5
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester