send-Befehl problem



  • Bin relativ neu im C++ Programm 😃
    und kenn mich daher nicht so gut aus hab tutorials durchgemacht usw was man als Anfänger halt so macht.

    Jetzt hab ich ein Problem mit nem send-Befehl weil ich nicht weiß wie man da nen text "einfügen" kann da die "<<"-Befehle ja nicht verwendet werden dürfen.

    Mein code schaut momentan so aus:

    Auswahl:
    
    	cout<<"Bitte waehlen Sie eine Timebase:\n";
    	cout<<"1. 1us\n";
    	cout<<"2. 5us\n";
    	cout<<"3. 10us\n";
    	cin>>auswahl;
    
    	if(auswahl==1)
    	{
    		send (1, "TIMEBASE:TDIV 1US", &status);
    	}
    	if(auswahl==2)
    	{
    		send (1, "TIMEBASE:TDIV 5US", &status);
    	}
    	if(auswahl==3)
    	{
    		send (1, "TIMEBASE:TDIV 10US", &status);
    	}
    

    ich würde gerne die Zeit der Timebase manuell eingeben und nicht durch auswahl einer vorgabe. habs aber leide bis jetzt nicht hinbekommen.
    der send-befehl muss genau so gesendet werden nur dass die zeit variiert werden kann.

    hoffe mir kann jemand helfen 🙂

    danke schon mal!!



  • Statt der jeweiligen Stringliterale z.B.:

    ("TIMEBASE:TDIV "+deinstring).c_str()
    


  • wie kann ich dann nen eingegebenen text in nen string "speicher"?

    wenn ichs z.b. so machen würde:

    cout<<"Geben sie die Timebase ein\n";
    cin>>meinString
    

    so gehts ja nicht



  • hehljo schrieb:

    so gehts ja nicht

    Doch, wenn du noch ein Semikolon anfügst.



  • fals du auch leerzeichen mit einlesen willst, wäre std::getline evtl. ne gute alternative...



  • das ist scho klar hab ich vergessen zu kopieren.
    aber wenn ichs so mach:

    if(auswahl==4)
    	{
    		cout<<"\nGeben Sie den gewünschten Wert der Timebase ein\n";
    		cin>>manuellStr;
    		send (1, "TIMEBASE:TDIV "+manuellStr, &status);
    	}
    

    dann kommt ja der fehler dass manuellStr nicht deklariert wurde.



  • Wir wär's, wenn du ihn dann vorher deklarierst...?
    Außerdem muss es ("TIMEBASE:TDIV "+manuellStr).c_str() lauten, falls send const char* erwartet.



  • ok habs hinbekommen 🙂
    danke!


Anmelden zum Antworten