Avatar billede mikeo Nybegynder
10. juni 2005 - 15:02 Der er 3 kommentarer og
1 løsning

Modificering af String

Hej!

Jeg har et problem med at modificere en tekst streng i c.

Jeg har en string: "sqlstr=select+*+from+tbl".
Den skal ændres til:      "select * from tbl".

Jeg har lavet nedenstående kode, som fint kan kompiles, men når jeg kører programmet, får jeg følgende fejl:
Segmentation fault (core dumped)

All help appreciated!



//////MyCode.c//////
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
  int i;
  char *tmp;
  char *sqlstr;
  strcpy(tmp,"sqlstr=select+*+from+database");
  sscanf(tmp,"sqlstr=%s",&sqlstr);
  printf("%s",sqlstr);
  for(i=0;tmp[i]!='\0';i++)
  {
    if(tmp[i]=='+')
    {
      tmp[i]=' ';
    }
  }
  printf("%s",tmp);
  printf("%s",sqlstr);
}
Avatar billede arne_v Ekspert
10. juni 2005 - 15:09 #1
prøv og ret

char *tmp;
char *sqlstr;

til

char tmp[300];
char sqlstr[300];
Avatar billede arne_v Ekspert
10. juni 2005 - 15:10 #2
2 pointere som peger på ingenting skal give problemer
Avatar billede mikeo Nybegynder
13. juni 2005 - 09:55 #3
Ja det var da vidst lidt af en tanketorsk :-O
Men tak for hjælpen...smid et svar
Avatar billede arne_v Ekspert
13. juni 2005 - 10:05 #4
kommer her
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