Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Speicherzugriffsfehler

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
23.11.2003, 00:06 Uhr
~Alfred
Gast


Hi Pablo,

danke, dass du dir so viel Mühe machst. Find ich echt toll, wie gut einem hier geholfen wird.
Ich habe dein Programm jetzt einfach mal kopiert und kompiliert. Beim Ausführen habe ich leider ein Speicherzugriffsfehler erhalten.

mfg

Alfred
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
23.11.2003, 00:11 Uhr
Pablo
Supertux
(Operator)


was??????? ich habe nur Copy & Paste gemacht und hat funktioniert. Ich benutze ebenfalls Linux.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
23.11.2003, 00:14 Uhr
~Alfred
Gast


Hm, das ist wirklich merkwürdig. Ich werde dein Programm morgen nochmal in Ruhe testen. Dann wird sich schon rausstellen, warum es nicht bei mir ging. Aber jetzt geh ich erstmal ins Bett. Muss morgen leider schon recht zeitig aufstehen.

mfg

Alfred
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
23.11.2003, 00:18 Uhr
Pablo
Supertux
(Operator)


ich kann dir die Sourcen schicken, wenn du willst
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
23.11.2003, 00:28 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ohne jetzt fehler bei der url abzufangen

C++:
void urlparser(std::string &url,std::string &host,std::string &path){
    int x=url.find('/');
    host=url.substr(0,x);
    path=url.substr(x+1,url.size()-x);
}

int main(int argc, char* argv[]){

    if(argc<2){std::cout<< "Bitte Url angeben"<<std::endl; return 1;}
    std::string host,path,url=argv[1];
    urlparser(url,host,path);
    std::cout<<"Host: "<<host.c_str()<<std::endl;
    std::cout<<"Path: "<<path.c_str()<<std::endl;

return 0;
}


progname www.becks.de/index.html
sollte funzen
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 23.11.2003 um 00:28 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
23.11.2003, 00:42 Uhr
Pablo
Supertux
(Operator)


@Windalf: Alfred wollte Lösung in C, ich glaube kaum, dass std:.cout in C kompilierbar ist

Ich hab einen kleinen Fehler gehabt, das funktioniert schon:

C++:
#include <stdio.h>
#include <malloc.h>


int where(char c, const char* buffer)
{
  int i,j=strlen(buffer);
  for(i=0; i<j && buffer[i] != c; ++i);
  return i;
}

int main (int argc, char* argv[])
{
  char* url = argv[1];
  char* temp = url;
  char* host;
  char* path;
  int pos = where('/', temp),i,j,len=strlen(url);
  host = (char*) malloc(pos);
  path = (char*) malloc(len-pos+1);
  
  for(i=0; i<pos; ++i)
    host[i] = *(url++);
  host[i]=0;
  url++;
  len = strlen(url);
  for(j=0; j<len; ++j)
    path[j]=*(url++);
  
  path[j]=0;
  
  
  printf("%s\n",host);
  printf("%s\n",path);    
  
  free(host);
  free(path);
  
  return 0;
  
}




Code:
$ ./test www.myhots.org/myfolder1/myfolder2
www.myhots.org
myfolder1/myfolder2



Beachte, dann am Anfang der URL kein http:// steht, sonst....
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
23.11.2003, 00:45 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Pablo
jo hab ich auch gerade gesehen. Naja dann sieht er jetzt wenigstens warum es sich lohnt den gcc in die tonne zu treten und lieber einen g++ zu nehmen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
23.11.2003, 00:48 Uhr
Pablo
Supertux
(Operator)


Soll wieder ein bzgl. "Was ist besser, C oder C++?" angefangen werden?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 23.11.2003 um 00:49 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
23.11.2003, 11:26 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Pablo
nein soll es nicht. Es kann aber auf jeden fall nicht schaden wenn beides geht oder?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
23.11.2003, 18:42 Uhr
~Alfred
Gast


Hi,

danke für eure Antworten. Habe sie mir jetzt mal genau angeschaut. Für mich waren beide Lösungen interessant. Sowohl die C++ als auch die C-Lösung.
Zu C bzw. C++:
Wahrscheinlich kann man viele Dinge mit C++ schon besser lösen als mit C. Und ich verwende ja auch öfters C++. Aber bei diesem Problem wollte ich einfach wissen, warum meine C-Lösung nicht funktioniert hat. Ich programmiere einfach aus Spass ein bischen rum. Und dieses Problem will ich jetzt mal komplett in C lösen. Ab und zu programmiere ich einfach aus Spass etwas Assembler, obwohl ich weiss, dass ich das gleiche Problem in einer anderen Programmiersprache schneller (nicht besser) lösen könnte.

Nun habe ich aber mal wieder eine Frage. Natürlich will ich jetzt auch dieses http:// mit C überprüfen. Ich habe jetzt folgenden Code in die urlparser() Funktion am Anfang reingeschrieben.


Code:
if ( strstr(url,"http://") != NULL )          /*wenn "http://" in der URL vorhanden ist,*/
    {
        url += 7;                    /*dann beachte "http://" nicht*/
    }



Das funktioniert auch soweit. Aber jetzt wollte ich euch fragen, ob das so eine gute Lösung ist und wie ich noch überprüfen kann, ob das http:// am Anfang vom String url vorkommt. Ich überprüfe nämlich momentan nur, ob es überhaupt im String url vorkommt.

Vielen Dank im Voraus

Alfred
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: