sistem komutu çıktısını değişkene atama

Başlatan nalcam22, 11 Kasım 2013 - 20:13:44

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

nalcam22

merhaba arkadaşlar c++ ile system fonksiyonunu kullanarak cpu vs ısısını görüyorm.
bunun çıktısını bir karakter değişkenine nasıl atarım
yani diyelim cpu temp1:46;
bunu bir  char değişkenine atayıp bir dosyay kaydedicem.

MRWhite

Biraz geç bir cevap oldu ancak, system fonksiyonunun return tipi var ise bunu bir string'e atayıp oradan bastırabilirsin.

string foo = function();

gibi

Dosya yazma işlemleri içinse:

yazmak
output.open("kayit.txt");
          cout<<"Lutfen dosyaya eklemek istediginiz yaziyi girin" <<endl;
          char str[60];
          cin.ignore();
          cin.getline(str,60);
          output<<str<<" "<<endl;
          output.close();


okumak
input.open("kayit.txt");
          string str;
          while(true){
          input>>str;
          if(input.eof())
          {
          break;}
          cout<<str<<" ";
          }
          input.close();


Buna benzer bir kod kullanabilirsin. Gerisi senin düzenlemene kalmış.

sem

Gözden kaçan konulardan biris olmuş. system() metodu başarılı ya da başarısız bayrağını döner sadece.  Çalıştırılan komutun çıktısını size vermez. Çünkü çalıştırılan komut farklı bir prosesi tetikler. Farklı bir prosesin çıktısını almak için ise prosesler arası haberleşmeye bakmanız gerekir.

En basiti ile isimli boru (named pipe) ile alabilirsiniz. Forumda ve UGT uygulamaları arasında bu konu konuşulmuştu sanıyorum. Size de aramanızı önereceğim ben de arayıp sizden önce bulursam örnek kod payşalırım.

Kolay gelsin.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 28 Şubat 2014 - 12:44:02

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?