Forum: Compiler & IDEs String per Kommando senden


von gast (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich brauche eure Hilfe, von einem Linux-Prozessor sende ich einen String 
über die serielle  Schnittstelle zum Mikrocontroller. Jetzt möchte ich 
den selben String per Kommando senden. Kann jemanden mir sagen wie kann 
ich das Programm einfach verändert, damit ich jetzt das Argument 
argv[0]= "Hello World" mit der Funktion  writeport sende.

Danke schön für alle Antwörte

von Ekschperde (Gast)


Lesenswert?

> argv[0]= "Hello World"

Wenn es grad argv[0] sein soll, musst du das Programm einfach umbennen.
Also:
mv AltesProgramm "Hello World"
Ein Link geht natürlich auch:
ln AltesProgramm "Hello World"

Starten dann mit:
./"Hello World"

Ich bezweifle nur, dass es das was du willst :-)

Eher solltest du:

s/strcpy( sCmd,"Hello World");/strcpy( sCmd, argv[1]);/

probieren.

P.S.:
Das s/bla/blub/ ist ein ed/vi-Kommando und ersetzt die Zeichenkette bla
durch blub.

Viel Spass...

von gast (Gast)


Lesenswert?

hallo,
mit der Veränderung wird gar nicht passiert.
in der Konsole habe ich:
argv[0] = ./senden
argv[1] = Hello World

Danke

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn Du in der Konsole mehrere Argumente angibst, wäre folgendes 
sinnvoller:
1
for (i = 1; i < argc; i++)
2
{
3
  if (!writeport(fd, argv[i])) 
4
  {
5
    printf("write failed\n");
6
    close(fd);
7
    return 1;
8
  }
9
  printf("written:%s\n", argv[i]);
10
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.