Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

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

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 <
010
24.11.2003, 19:01 Uhr
~sebbraun
Gast


wie funktioniert das mit einem stringstream?
ICh muss sagen ich bin wahnsinnig überrascht von der resonanz auf meine anfrage, aber ich kenne nur die wenigsten befehle die ihr verwendet.
das programm (von mir) das wenigstens ansatzweise funktioniert sieht folgendermaßen aus:

C++:
#include <iostream>
using namespace std;

char array[500];

void kon(char** pargv)
{
  
for (int k=0;k<2;k++)
{
  
        
   int i=1;
   char* pointer= pargv[i];
   while(i<6)
   {
        array[i]= *pointer;
        i++;
        pointer++;
    }
    **pargv++;
}
}


int main(int argc,char** argv)
{
   kon(&*argv);
  
    
   int j=0;
   while(j<10)
   {
    cout<<"array"<<j<<" = "<<array[j]<<endl;
    j++;
   }
  
    return 0;
  
}


--edit: Pablo. [ cpp ] tags gesetzt--

Dieser Post wurde am 24.11.2003 um 19:02 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
24.11.2003, 19:09 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


man könnte es vielleicht so machen:


C++:
#include <iostream>

void split_func(char *param, char trenner, int *var1, int *var2)
{
  if(!param || !var1 || !var2)
   return;

  char *temp1, *temp2;
  temp1 = new char[strlen(param)+1];
  temp2 = new char[strlen(param)+1];
  
  bool bAnfang = 1;
  int y = 0;
  for(int x = 0; x < strlen(param); x++)
  {
    if(bAnfang)
    {
      if(param[x] != trenner)
      {
        temp1[y] = param[x];
        temp1[y+1] = '\0';
        y++;
      }
      else
      {
        bAnfang = 0;
        y = 0;
      }
    }
    else
    {
        temp2[y] = param[x];
        temp2[y+1] = '\0';
        y++;
    }
  }
  var1 = atoi(temp1);
  var2 = atoi(temp2);

  delete[] temp1;
  delete[] temp2;
}

int main(int argc, char *argv[])
{
   int var1 = 0,var2 = 0;
   for(int x = 0; x < argc-1; ++x)
   {
      split_func(argv[x],'-',&var1,&var2);
      std::cout << "Var1=" << var1 << ", Var2=" << var2 << std::endl;
   }
}



ungetestet!
--
class God : public ChuckNorris { };

Dieser Post wurde am 24.11.2003 um 19:10 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
24.11.2003, 19:12 Uhr
typecast
aka loddab
(Operator)


Ok nachtrag zu stringstreams:


C++:
#include <sstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
        string s = "fasdjkl 123 123.456";
        istringstream istream(s);
        int ii; string p; double dd;
        istream >> p >> ii >> dd;
        cout << p << " " << ii << " " << dd << endl;
}



--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
24.11.2003, 19:13 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
#include <sstream>



darf er glaub ich nicht verwenden?!?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
24.11.2003, 19:23 Uhr
~sebbraun
Gast


Danke Leute, habt mir wirklich sehr geholfen.

Habe jedoch noch eine Frage an Flosoft:
Was machen diese beiden Zeilen?
var1 = atoi(temp1);
var2 = atoi(temp2);
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
24.11.2003, 19:30 Uhr
Pablo
Supertux
(Operator)


atoi wandelt eine Zeichenkette, die eine Zahl speichert in einer Zahl um.


C++:
int x = atoi("5"); // x==5


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 24.11.2003 um 19:30 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
24.11.2003, 19:38 Uhr
~sebbraun
Gast


warum bekommt man sowas nicht in der vorlesung beigebracht;
hab mir so eine funktion (funktioniert über asci code) selbst schreiben müssen

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
24.11.2003, 19:44 Uhr
Pablo
Supertux
(Operator)


Weil die Vorlesung nicht alles beibringt, Als Student muss man auch selber Sachen hearusfinden, das gehört einfach dazu!
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
24.11.2003, 20:50 Uhr
Hans
Library Walker
(Operator)



Zitat:
~sebbraun postete
warum bekommt man sowas nicht in der vorlesung beigebracht;
hab mir so eine funktion (funktioniert über asci code) selbst schreiben müssen

Danke
Hi,
ich musste in der Vorlesung lernen, wie man das, was atoi & Co. machen, selber erledigt. Die Funktion war dann allerdings so allgemein verwendbar, das man sie für jede beliebige Basis gebrauchen konnte, und auch für Fliesspunktzahlen. Die hat dann auch sowas geschluckt: 3afb.7def; - das ist ne hexadezimale Zahl mit Nachkommastellen. Über den Sinn der Nachkommastellen braucht man nicht zu diskutieren, es ging lediglich um's Prinzip. Wenn man das verstanden hat, kann man auch eine Funktion bauen, die das verarbeitet. Eine Variante davon habe ich hier bzw. hier schon mal gepostet.

Hans

P.S. (@Moderators) Wie stelle ich es an, bzw. wie muss die URL aussehen, damit der Browser auch gleich das posting anzeigt, das ich geschickt habe, wenn die Seite geladen ist. So wie die Links jetzt aussehen, zeigt er immer nur den Threadanfang an, und die Postings, die ich meine, muss man sich erst noch suchen...


Bearbeitung:

Urls geändert, siehe Antwort auf deinen Post im Offtopic-Forum


--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 24.11.2003 um 22:38 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ 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: