Ich habe das folgende Problem:
Ich verwende in meinem Programm diese Funktion:
%Vor%es funktioniert gut.
Aber ich möchte keinen konstanten Wert haben. Ich tue es so:
%Vor%Ich überprüfe meinen String:
%Vor% Ja, es ist richtig.
aber system
funktioniert in diesem Fall nicht und gibt -1 nicht zurück. Ich drucke nur String!
Wie kann ich eine Variable wie eine ganze Zahl übertragen, die in einer Datei wie Integer ausgegeben wird, aber keine Zeichenkette?
Also möchte ich die Variable int a haben und ich möchte den Wert einer mit Systemfunktion in der Datei ausgeben. Ein echter Pfad zu meiner Datei.txt ist / proc / acpi / video / NVID / LCD / Helligkeit. Ich kann nicht mit fprintf schreiben. Ich weiß nicht warum.
Sie können Zeichenfolgen nicht verketten, wie Sie es versuchen. Versuchen Sie Folgendes:
%Vor% Die Funktion system
benötigt eine Zeichenfolge. In Ihrem Fall verwendet es den Text * curr_val_str * und nicht den Inhalt dieser Variablen. Anstatt sprintf
zu verwenden, um nur die Zahl zu generieren, verwenden Sie sie, um den gesamten Systembefehl zu generieren, den Sie benötigen, d. H.
Stellen Sie zuerst sicher, dass der Befehl groß genug ist.
einfach nicht. :)
Warum greifen Sie auf system()
für solch eine einfache Operation zurück?