Frage zu funktionen



  • kann ich eine varibale von der einen funktion in die andere funktion übergeben?



  • Bestimmt 😉
    Ist aber nicht ganz klar was du meinst:

    // so?
    void f(int x)...
    void g()
    {
      int y = 99;
      f(y);
    }
    // oder so?
    void f(int x)...
    int g()
    {
      return 99;
    }
    ...
    f(g());
    


  • ich will in diesen string wo p steht

    std::string   HTML_File::to_string(){ 
        std::string out = 
          "<!DOCTYPE html><head>	<style>	#nr1 { position:absolute;height:auto;
    	bottom:500;top:0;left:0;		right:0;		width:1500px;		margin: 10px 0 10px 10px;
    		background: #f90;	}		#nr2 {			position:absolute;		height:auto;		bottom:500;	
    	top:0;		left: "+[b]p[/b]+";		right:0;		width:1500px;		margin: 10px 0 10px 10px;
    		background: #09f;	}	</style></head><body>	<div id=""nr1"">	Belegter Speicher:
    </div>	<div id=""nr2"">	Freier Speicher</div>"  
                                                                      + data 
          + "</body></html>\n"; 
        return out;
    

    den wert aus dieser funktion rein bauen:

    void schreiben(){  
        using namespace std; 
        ifstream datei("/proc/meminfo"); 
        float mem_total = -1;
        float mem_free = -1; 
        for( std::string wort; (mem_total < 0 || mem_free < 0) && datei >> wort;) 
        { 
            if( wort == "MemTotal:" ) 
                datei >> mem_total; 
            else if( wort == "MemFree:" ) 
                datei >> mem_free; 
        } 
    
        float r = 1500/mem_total;
        [b]float p = r*mem_free;[/b]
        if( datei ) 
            cout << "Ergebnis: " << (mem_total-mem_free) << " = (total)" << (mem_total) << " - (free)" << mem_free << " r:" << r << " p:" << p << endl;
         else 
            cerr << "Fehler beim Lesen/Parsen" << endl; 
    
      }
    


  • Jockelx hat doch schon geschrieben, wie die Wertübergabe stattfinden kann, z.B. per Rückgabe. Deine Funktion kann also ihr Ergebnis p zurückgeben. Diesen Wert kannst du dann in der anderen Funktion verwenden. Die Umwandlung von float nach std::string kannst du z.B. mit boost::lexical_cast machen (falls du kein boost verwenden willst: zur Umwandlung per stringstream gibt es hier im Forum reichlich Beispiele).



  • ok dann muss ich nur noch umwandeln 😃



  • irgentwie bekomm ich das garnicht hin weder das umwandeln mit std::string to_string noch überhaupt die var in die andere funktion


  • Mod

    Enno schrieb:

    irgentwie bekomm ich das garnicht hin weder das umwandeln mit std::string to_string noch überhaupt die var in die andere funktion

    Tja.

    (Diese Antwort war nicht hilfreich? Überleg mal: Welche andere Antwort könnte ein Fremder wohl auf diese Frage geben? Siehe auch:
    http://www.c-plusplus.net/forum/200753
    http://www.tty1.net/smart-questions_de.html
    )



  • Enno schrieb:

    irgentwie bekomm ich das garnicht hin weder ... noch überhaupt die var in die andere funktion

    Lern Grundlagen!



  • werd ich machen ich werd es wohl dann erstmal gut sein lassen und mich auf das primer buch freuen was am montag kommt 😃
    trotzdem danke vor allem an seppj der mich die letzte woche doch so einiges gelehrt hat!
    bin um 17 uhr fertig und werds wohl bis dahin auch nicht schaffen!!

    danke nochmals alle!


Anmelden zum Antworten