blueberry
Goto Top

Von Visual Studio Variable an CMD übergeben...

Hallo Zusammen,

Ich bin dran im Visual Studio ein Programm zu schreiben, weiss aber nicht wie ich eine Variable die ich im Visual Studio 2008, Programmiersprache C, dem CMD übergeben kann. Ich brauche dazu immer 'system (Befehl);' um einen Befehl an die CMD weiter zu geben, aber ich habe bemerkt das der nur immer ein argumment akzeptiert...

Und ich habe gleich noch eine Frage:

Wie kann ich in der Sprache C, eine Datei erstellen und etwas rein schreiben?
Ich habe zu diesem Thema schon etwas gefunden im Internet, aber da ich die Erklärung die da stand überhaupt nicht verstanden habe, habe ich lieber die Finger davon gelassen...


Ich hoffe ihr habt alle Informationen, sonst bitte einfach sagen was ihr wissen müsst. Und ehm ich wäre froh wenn ihr noch eine kleine Erklärung dazu schreiben könntet, da ich ein blutiger anfänger bin was die Sprache C angeht.

Ich danke für eure Antwort jetzt schon

Mit freundlichen Grüssen

Blueberry

Content-Key: 105339

Url: https://administrator.de/contentid/105339

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: Biber
Biber 06.01.2009 um 21:47:32 Uhr
Goto Top
Moin Blueberry,

die Funktion system() erwartet zwar nur einen Parameter (const char *cmd), aber dieser string kann doch durchaus aus mehreren "worten" mit Leerzeichen dazwischen bestehen.

Vielleicht ist eher das Problem durch Zeichen mit in C spezieller bedeutung hervorgerufen;diese musst Du ggf. maskieren:
int errlevel;

errlevel = system( "dir c:\\temp\\*.*");  

Was ist denn der konkrete Befehl, der herumzickt?

Grüße
Biber
Mitglied: Blueberry
Blueberry 07.01.2009 um 12:29:14 Uhr
Goto Top
Hallo Biber,

Der Befehl ist system (); da ich mal probiert habe ob es so geht:

system ("echo %c", c);
<\code>
Da man normalerweise ja die Variable auch einsetzt... Aber eben das war nur ein Test, da ich sonst kein Plan habe wie ich das sonst machen könnte...

Mit freundlichen Grüssen

Blueberry
Mitglied: lowbyte1
lowbyte1 07.01.2009 um 22:07:34 Uhr
Goto Top
Hi Blueberry

Das was ich hier lese ist wohl nicht dein ernst oder ?

Das mit der funktion System(); ist ja die eine sache.... doch.. "wie erstelle ich in C eine Datei und schreibe etwas hinein".
Ich würde mal sagen lerne zuerst mal die Grundlagen von C...und dan werden deine Fragen von selber gelöst.
Das ist nicht ein Forum für möchte gern Programmierer... Wen zumindest ein Ansatz da wäre ...aber da kommt ja nichts..

Dies wäre ein gutes Buch das ich dir empfehlen kann. Wirklich alles dabei Grundlagen von a bis z. inkl. einstieg in die Netzwerkprogammierung mit Sockets.

http://www.hs-augsburg.de/~sandman/c_von_a_bis_z/

Da ich nicht ein Unmensch sein will ...denke ich das ich dein Problem beseitigen kann.

Die Funktion System kannst du nicht so verwenden du musst den String zuerst zusammen setzen da als Zeiger der Funktion System übergeben.

ala.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{

char buf[100];
char buf1[10];
int zahl=23;                            // Bsp.

strcpy(&buf , "echo ");  
sprintf (buf1, "%c", zahl);  
strcat(buf , buf1);

system(buf);

return 0;

}



lowbyte
Mitglied: Blueberry
Blueberry 08.01.2009 um 14:26:18 Uhr
Goto Top
Hallo lowbyte,

Das ist nicht ein Forum für möchte gern Programmierer...
Wenn dich das so nervt, warum schreibsch du dann ?
Und ich habe erst gerade mit C angefangen und hab keinen Plan... Im Internet habe ich schon Leute gefunden die mir den Code, so wie du, einfach nur vorgeben , aber mir geht es mehr um die Erklärung, damit ich etwas lernen kann und ich bin nicht gerne so ein DAU der einfach sagt: "Is ja egal was das bedeutet bzw. macht, muss ja nur funktionieren.", sondern einer, der gerne wissen will was dass es genau macht... Und ich habe in der Schule auch C. Ich bin nur leider erst im 1sten Lehrjahr und da lernen wir solches zeug nicht ... Und mit C eine Datei erstellen und reinschreiben werden wir zwar lernen, aber dann erst mit C#, aber eben wenn dich das nur nervt, dann lass lieber deine Antworten, okey? (Ist nicht böse gemeint oder so, aber ich habe es nicht gerne wenn Leute eine Antwort schreiben und sich dann noch Aufregen, was für DAUs das es gibt...)

Mit freundlichen Grüssen

Blueberry
Mitglied: lowbyte1
lowbyte1 10.01.2009 um 01:56:58 Uhr
Goto Top
Hi Blueberry

Du musst nicht nur Leute fragen sondern nach Lösungen suchen ...aber was du machst ist deine sache.
Wie gesagt, ich kann dir nur Bücher empfehlen. So wirst du effektiv vorankommen, und musst nicht alles zusammen kratzen.
Am Ende hast du ein risen Kopf (bei den villen Programmiersprachen die du ja kannst) und schlussendlich kannst du doch nichts so richtig.
Und wen du einmal die Grundlagen kannst, und weist von was du da überhaubt redest, dann wird dir sicher ein gutiger User weiterhelfen ...aber sicher nicht bei Grundlagen.
Nichts gegen dich. Doch ich glaube du wirst hier kaum einer finden der dir den ganzen Müll über Pointer erklärt..geschweige den String Funktionen..etc.etc

Ein File erzeugen in C ist keine grosse Sache... doch man sollte doch verstehen was man tut . vorallem bei lese und schreibe Operationen. etc...etc...
Also wenn ich in der übigen Suchmachine Google: "Datei erzeugen in C" eingebe.... erschlägt es mich fast. face-smile
Darum verstehe ich deine Fragen immer noch nicht.
Ich vergleiche das etwa mit : " Wie kann ich eine Boing fliegen,? Habe noch keine Flugstunden, doch ich möchte sofort abheben..." face-smile
Das geht einfach nicht sorry. oder doch !?

Ich nerve mich nicht über dich , und ich möchte dich auch nicht nerven.... ich möchte dich nur ein Schrit weiter bringen.


lowbyte
Mitglied: Blueberry
Blueberry 13.01.2009 um 18:44:16 Uhr
Goto Top
Zitat von @lowbyte1:

Ich nerve mich nicht über dich , und ich möchte dich auch
nicht nerven.... ich möchte dich nur ein Schrit weiter bringen.

Das habe ich bemerkt, dass du mich nicht nerven willst, dass meine ich mit vollem ernst.

Was mein Problem war, dass ich viele Ergebnisse fand, aber keine Erklärungen sondern nur Code. Ich habe warscheinlich, wie so oft schon, falsch gegooglt... Danke aber trotzdem für deinen Beitrag! Ich muss woll wirklich noch hinter die Bücher face-smile...

Mit freundlichen Grüssen
Blueberry
Mitglied: yazzi2010
yazzi2010 10.08.2012 aktualisiert um 15:39:26 Uhr
Goto Top
Ist schon lange her das hier was geschrieben wurde, aber ich hab ein ähnliches Problem.
Ich programmiere unter Visual Studio C++ 2010 eine GUI und versuche da jetzt krampfhaft aus diesem Code eine Variable in CMD reinzukriegen.
Was mache ich da falsch?
Die letzte Zeile sollte interessant sein.

Bei dieser erscheint folgender Fehlercode:
Fehler:'system': Konvertierung des Parameters 1 von 'System::String ^' in 'const char *' nicht möglich


Hier der Code:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

           int i;
           System::String^ pfad; // =''; 
	fstream f;
System::String^ suchPfad = this->textBox1->Text;

 i=system ("cd D:\\");  
  // Alle Dateien incl. in den Unterordnern suchen und in Textdatei schreiben
  i=system ("dir /S " + suchPfad + ">> D:\\Ausgabe.txt");  

Wäre schön wenn da jemand weiterhelfen könnte.
Danke schon mal

[Edit Biber] Codeformatierung[/Edit]^^