<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen?]]></title><description><![CDATA[<p>Man kann ja mit dem Befehl &quot;system&quot; Befehle ausführen lassen. Wie kann man es allerdings so machen, dass ein Ergebnis in eine Variable übergeben wird ohne dabei die Konsole öffnen zu lassen.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">main
{
 const char msg = system (&quot;dmesg&quot;)
}
</code></pre>
<p>In dem Beispiel möchte ich System-Infos einlesen aber es wird immer die Konsole geöffnet. Das soll aber nicht passieren, sondern es sollen Zwecks weiterer Verarbeitung nur die Ergebnisse übergeben werden. ODER gibt es eine Alternative, um Systeminfos (Kernelinfos) dierkt zu gewinnen?<br />
Danke im Voraus...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/173301/wie-kann-man-werte-aus-einen-systemaufruf-übergeben-oder-system-infos-gewinnen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 10:14:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173301.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Feb 2007 21:19:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Tue, 13 Feb 2007 21:20:45 GMT]]></title><description><![CDATA[<p>Man kann ja mit dem Befehl &quot;system&quot; Befehle ausführen lassen. Wie kann man es allerdings so machen, dass ein Ergebnis in eine Variable übergeben wird ohne dabei die Konsole öffnen zu lassen.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">main
{
 const char msg = system (&quot;dmesg&quot;)
}
</code></pre>
<p>In dem Beispiel möchte ich System-Infos einlesen aber es wird immer die Konsole geöffnet. Das soll aber nicht passieren, sondern es sollen Zwecks weiterer Verarbeitung nur die Ergebnisse übergeben werden. ODER gibt es eine Alternative, um Systeminfos (Kernelinfos) dierkt zu gewinnen?<br />
Danke im Voraus...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1228397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1228397</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Tue, 13 Feb 2007 21:20:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Wed, 14 Feb 2007 07:12:23 GMT]]></title><description><![CDATA[<p>Im Standard gibt's keine Möglichkeiten. Jenseits des Standards könntest du dir mal popen() (das leitet die Ein/Ausgabe eines system()-Aufrufes in ein FILE* um, das du dann auslesen kannst) bzw. die WinAPI Registry-Funktionen ansehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1228483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1228483</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 14 Feb 2007 07:12:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Wed, 14 Feb 2007 07:40:36 GMT]]></title><description><![CDATA[<p>Sowas wäre schon mal ok.<br />
Wie kann ich popen() verwenden?</p>
<p>etwa so:</p>
<pre><code class="language-cpp">popen(&quot;auszuführendes Programm&quot;, &quot;Pfad zur datei&quot;)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1228496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1228496</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 14 Feb 2007 07:40:36 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Wed, 14 Feb 2007 07:52:38 GMT]]></title><description><![CDATA[<p>Nein, ungefähr so:</p>
<pre><code class="language-cpp">FILE* pipe = popen(befehl,&quot;r&quot;);
//anschließend die Daten per fscanf() oder fread() aus pipe einlesen
</code></pre>
<p>Eine Alternative wären noch Pipes auf Systemebene:</p>
<pre><code class="language-cpp">string command = befehl + &quot; &gt; &quot; + zieldatei;
system(command.c_str());
ifstream data(zieldatei.c_str());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1228502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1228502</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 14 Feb 2007 07:52:38 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Tue, 13 Mar 2007 05:43:34 GMT]]></title><description><![CDATA[<p>Wie kann man Systeminfos, in der Art wie man Sie über dmesg bekommen kann ohne einen Systemaufruf erhalten? Gibt es hierfür auch spezielle Funktionen um solche Daten zu erhalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244432</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Tue, 13 Mar 2007 05:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Tue, 13 Mar 2007 06:08:35 GMT]]></title><description><![CDATA[<p>&lt;LinuxSpezifisch&gt;<br />
Normalerweise öffnet ein Prozess der Systeminformationen haben möchte Dateien im /proc oder /sys Filesystem (Beispiel /proc/meminfo für den aktuellen Speicherstand) und liest diese aus. Dabei sind das keine echten Dateien, sondern Pseudodateien, mit deren Öffnung Du den Kernel beauftragst Dir dort eben bestimmte Informationen zur Verfügung zu stellen.<br />
&lt;/LinuxSpezifisch&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244435</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 Mar 2007 06:08:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Tue, 13 Mar 2007 07:42:42 GMT]]></title><description><![CDATA[<p>Für Linux wäre schon richtig.<br />
Verstehe ich das jetzt richtig, dass die Infos bereits im Rohzustand abgelegt sind und man diese nur noch mit Dateieinlesefunktionen abholen muss?<br />
So wie ich das aber erkenne sind diese Dateien eigentlich 0byte-groß. Wie liest man die denn aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244443</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Tue, 13 Mar 2007 07:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Tue, 13 Mar 2007 07:54:47 GMT]]></title><description><![CDATA[<p>Öh. Öffnen. Lesen. Schließen. Wie jede andere Datei auch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Wie gesagt, das sind Pseudo-Dateien, und damit der Kernel sich nicht bei jedem ls die Arbeit machen muss die Länge der Informationen zu berechnen, wird halt 0 ausgegeben. Wenn Du die Datei zum Lesen öffnest und dann liest, kommen schon Informationen raus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244472</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 Mar 2007 07:54:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Tue, 13 Mar 2007 09:27:56 GMT]]></title><description><![CDATA[<p>Ahh <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> , gibts da eine Übersicht wo in welcher Datei was zu finden ist? Es sollte ja nur das eingelesen werden was gebraucht wird. Dann könnte ich mir tatsächlich den Systembefehl sparen, den ich eigentlich nur ungern nutzen wollte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244541</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Tue, 13 Mar 2007 09:27:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Tue, 13 Mar 2007 15:11:50 GMT]]></title><description><![CDATA[<p>Schau dir doch mal /proc an, so viele Dateien sind da nicht drin. Die Verzeichnisse mit PIDs als Namen brauchst du dir ja nicht anzusehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244760</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 13 Mar 2007 15:11:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man Werte aus einen Systemaufruf übergeben oder System-Infos gewinnen? on Wed, 14 Mar 2007 05:46:43 GMT]]></title><description><![CDATA[<p>Interessant wären allerdings vorallem Hardwarinfos wie z.B: Flashstructur, Speicherplatz, HD-Größe usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245113</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 14 Mar 2007 05:46:43 GMT</pubDate></item></channel></rss>