Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst 4 Fragen zur C Programmierung

Mitglied: Michi262

Michi262 (Level 1) - Jetzt verbinden

12.02.2008, aktualisiert 08.03.2008, 6176 Aufrufe, 34 Kommentare

Textdatei in einem Verzeichniss erstellen
Textdatei löschen
Variable aus Textdatei auslesen
wget ansteuern

Hi,

ich hab 4 fragen:

1. Wie kann ich eine Textdatei (.*wtf) die einen Text enthält in einem Verzeichnis erstellen?
z.B soll die datei test.wtf unter "C:\Programme\test" erstellt werden un diesen Text beinhalten: Text

2. Wie kann ich diese Textdatei wieder löschen?

3. wie kann ich eine Variable aus einer Textdatei auslesen?

4. Wie steuere ich das Program wget ( http://users.ugent.be/~bpuype/wget/#download ) mit C an? Oder gibt es unter C einen eigenen
Befehl dafür?

MFG Michi262

PS: Danke an alle die mir helfen
34 Antworten
Mitglied: miniversum
12.02.2008 um 15:07 Uhr
Lies dir mal das hier, und due Doku zu den dort aufgeführten Befehlen durch.
http://www.cplusplus.com/reference/clibrary/cstdio/

Da findest Du auch Codebeispiele.

miniversum
Bitte warten ..
Mitglied: Michi262
12.02.2008 um 15:40 Uhr
das steh auch nur wie ich eine Textdatei erstelle + entferne.

Aber ich weiß nicht wie ich diese in ein anderes Verzeichnis bekomme.

wie ich eine Variable auslese hab ich gefunden.

also nun eine Aktualisierung der Fragen:

1. Wie bekomm ich eine erstellte Texdatei in ein ander Verzeichnissß

2. wie lösche ich die Datei aus dem Verzeichniss wieder?

3. Wie steuere ich das Program wget ( http://users.ugent.be/~bpuype/wget/#download ) mit C
an? Oder gibt es unter C einen eigenen Befehl dafür?
Bitte warten ..
Mitglied: miniversum
12.02.2008 um 15:55 Uhr
Aber ich weiß nicht wie ich diese in ein anderes Verzeichnis bekomme.

1. Wie bekomm ich eine erstellte Texdatei in ein ander Verzeichnissß

2. wie lösche ich die Datei aus dem Verzeichniss wieder?

Indem du nicht nur den Dateinamen angibst sondern eben noch zusätzlich das Laufwerk\das Verzeichnis. (L:\verzeichnis\datei.ext)
Bitte warten ..
Mitglied: Michi262
12.02.2008 um 23:56 Uhr
so?

01.
{
02.
	FILE* fTest = fopen("C:\Programme\test.txt","w+t");
03.
	fprintf(fTest,"blablabla");
04.

05.
   return 0;
06.
}
weil bei mir kommt da immer n errror^^
Bitte warten ..
Mitglied: miniversum
13.02.2008 um 11:53 Uhr
ja fast. in C muß man \ durch \\ ersetzen. Also "C:\\Programme\\test.txt"
Bitte warten ..
Mitglied: Michi262
13.02.2008 um 23:30 Uhr
jop. thx es funktioniert

weiß dann noch wer, wie ich das Program wget ( http://users.ugent.be/~bpuype/wget/#download ) mit C ansteure?

hier hab ich noch ein Problem:

01.

02.
#include <windows.h>
03.
#include <stdio.h>
04.

05.
int main ()
06.
{
07.
  FILE * pFile;
08.
  int c;
09.
  pFile=fopen ("test.txt","r");
10.
  if (pFile==NULL) perror ("Error opening file");
11.
  else
12.
  {
13.
    do {
14.
      c = fgetc (pFile);
15.

16.
      if (c == 20) printf ("");
17.
     }while (c != 20);
18.
    fclose (pFile);
19.
    system("meldung.cmd");
20.
  }
21.
  return 0;
22.
}
in der Datei meldung.cmd ist folgendes enthalten:

01.
@echo off
02.

03.
set "tmpvbs=%temp%\tmpvbs.vbs"
04.
echo WScript.Echo msgbox("Es ist ein neues Update vorhanden. Bitte klicken Sie auf OK. Das Passwort für das Archiv ist ****.", vbOKCancel, "Update") >"%tmpvbs%"
05.
for /f "delims=" %%i in ('cscript //nologo "%tmpvbs%"') do set "ans=%%i"
06.
del "%tmpvbs%"
07.
if %ans% equ 1 start "" /d"%HOMEDRIVE%%HOMEPATH%" "C:\Programme\WOW Spezial Starter\Data\update.html"
kann mir da pls auch noch einer helfen?

MFG Michi262
Bitte warten ..
Mitglied: miniversum
14.02.2008 um 11:16 Uhr
Was ist daran das Problem? Willst du das ganze ohne meldung.cmd machen und in c nachprogramieren oder was geht daran nicht?

wget kanst du ja auch über system starten.
Also system("wget.exe");
Aber eine elegantere Lösung ist es den sourcecode von wget zu nehmen (z.B. von hier http://www.gnu.org/software/wget/ ) und ihn direkt mit einzubinden.

miniversum
Bitte warten ..
Mitglied: Michi262
14.02.2008 um 14:47 Uhr
Was ist daran das Problem? Willst du das
ganze ohne meldung.cmd machen und in c
nachprogramieren oder was geht daran nicht?


der startet mir meldung.cmd nicht
Bitte warten ..
Mitglied: miniversum
14.02.2008 um 16:30 Uhr
Versuchs mal mit
system("cmd /k meldung.cmd");
miniversum
Bitte warten ..
Mitglied: Michi262
21.02.2008 um 09:03 Uhr
hi @ all

entschuldigt das ich so lange nicht geantwortet habe aber ich lag mit grippe im bett.

nun möchte dich das ganze mit einer *.exe Datei machen.

wie funktioniert den das?

MFG Michi262
Bitte warten ..
Mitglied: miniversum
21.02.2008 um 13:07 Uhr
Eigentlich genauso.
Schonmal so versucht?:
system("programm.exe");
Bitte warten ..
Mitglied: Michi262
21.02.2008 um 14:23 Uhr
ja so hab ich´s schon versucht. aber da passierte wie bei der *.cmd datei auch nix
Bitte warten ..
Mitglied: miniversum
21.02.2008 um 14:40 Uhr
Habs grade mal mit dem Dev-C++ ausprobiert.
So geht es bei mir:
system("cmd /c meldung.cmd");
oder:
system("meldung.cmd");
oder:
system("notepad.exe");
miniversum
Bitte warten ..
Mitglied: Michi262
21.02.2008 um 19:30 Uhr
das probelm ist bei mir liegt die *.exe in einem ordern, der im Dateinamen Leerzeichen beinhaltet. könnte dies die Fehlerquelle sein???
Bitte warten ..
Mitglied: miniversum
22.02.2008 um 09:26 Uhr
Ja.
Normalerweise musst du dann das Ganze in Anführungszeichen setzen.
Da aber schon beim system Befehl ansich die Befehlszeile in Anführungszeichen steht und es so sonst zu Problemen kommt müssen die zusätzlichen Anführungszeichen mit einem zusätzlichen "\" ausmaskiert werden. Die Benötigst du auch bei den "\". Dazu kannst Du mal das hier anschauen: http://tutorial.schornboeck.net/escape.htm :
Aufruf von der cmd aus:
"C:\das ist das Programm\mein programm.exe"
In C dann:
system("\"C:\\das ist das Programm\\mein programm.exe\"");
miniversum
Bitte warten ..
Mitglied: Michi262
22.02.2008 um 20:48 Uhr
Ok. ich werds versuchen. melde mich gleich wieder.

weild as mit den " bin ich ja aus Batch gewohnt aber das hat er nicht gefressen^^

edit:

thx da programm startet.

aber das mit der Variable geht noch net.

Kann da wer bitte nen blick drauf werfen?

01.

02.
#include <windows.h>
03.
#include <stdio.h>
04.

05.
int main ()
06.
{
07.
  int c;
08.
  FILE * pFile;
09.
  pFile=fopen ("test.txt","r");
10.
  if (pFile==NULL) perror ("Version kann nicht überprüft weden!!");
11.
  else
12.
  {
13.
    do {
14.
      c = fgetc (pFile);
15.
      if (c == 2.0) system("\"C:\\das ist das Programm\\mein programm.exe\"");
16.
     }while (c != 2.0);
17.
    fclose (pFile);
18.
    system("meldung.cmd");
19.
  }
20.
  return 0;
21.
}
Bitte warten ..
Mitglied: miniversum
23.02.2008 um 10:36 Uhr
Das problem liegt hier:
c = fgetc (pFile);
if (c == 2.0)
Genaugenommen sind es zwei.
Mit fgetc werden immer einzelne Zeichen eingelesen, keine Zeichenketten. Siehe hier: http://www.cplusplus.com/reference/clibrary/cstdio/fgetc.html
Wenn du mehrere Zeichen als string einlesen willst ist dann besser endweder die Funktion
fscanf ( http://www.cplusplus.com/reference/clibrary/cstdio/fscanf.html )
oder
fgets ( http://www.cplusplus.com/reference/clibrary/cstdio/fgets.html )
geeignet.

Das zweite Problem ist dann der Vergleich. mit einem
if (c == 2.0)
würde dir das Zeichen das in c steht mit dem Zeichen vergleichen das den ascii Code 2 hat. Willst du ein einzelnes Zeichen mit einem andern vergleichen müßte das su aussehen:
if (c == '2')
Bei strings wäre ein Vergleich so durchzuführen:
if (c == "2.0")

miniversum
Bitte warten ..
Mitglied: Michi262
23.02.2008 um 12:42 Uhr
achso. ok danke. werde es mal nacher Versuchen weil ich jetzt weg muss.

edit:

ich hab´s jetzt mal mit

01.

02.
#include <stdio.h>
03.
#include <windows.h>
04.

05.
int main()
06.
{
07.
   FILE * pFile;
08.
   char string [100];
09.

10.
   pFile = fopen ("test.txt" , "r");
11.
   if (pFile == NULL) perror ("Error opening file");
12.
   else {
13.
     fgets (string , 100 , pFile);
14.
     puts (string);
15.
     fclose (pFile);
16.
	 if (string == "2.0") system("\"C:\\Programme\\World of Warcraft\\WoW.exe\"");
17.
   }
18.
   return 0;
19.
}
20.
verscuht. aber irgendwie ohne erfolg
Bitte warten ..
Mitglied: miniversum
27.02.2008 um 09:41 Uhr
So gehts:
01.
#include <stdio.h>
02.
#include <windows.h>
03.

04.
int main()
05.
{
06.
   FILE * pFile;
07.
   char string [100];
08.

09.
   pFile = fopen ("test.txt" , "r");
10.
   if (pFile == NULL) perror ("Error opening file");
11.
   else {
12.
     fgets (string , 5 , pFile);
13.
     puts(string);
14.
     fclose (pFile);
15.
	 if (strcmp(string,"2.0") != 0) 
16.
        system("\"C:\\Programme\\World of Warcraft\\WoW.exe\"");
17.
                
18.
   }
19.
   system("PAUSE");
20.
   return 0;
21.
}
der Vergleich der strings sollte man mit strcmp machen. Da war ich jetzt auch nicht aufmerksam genug.
Bitte warten ..
Mitglied: Michi262
27.02.2008 um 15:03 Uhr
ok. danke wer´s gleich mal testen

edit:

der startet mir die wow.exe nicht
Bitte warten ..
Mitglied: Michi262
29.02.2008 um 15:20 Uhr
ich push hier ma weil nix kommt
Bitte warten ..
Mitglied: miniversum
29.02.2008 um 16:00 Uhr
Da ich hier kein WOW habe hab ichs mal mit dem Mediaplayer getestet.
01.
#include <stdio.h>
02.
#include <windows.h>
03.

04.
int main()
05.
{
06.
   FILE * pFile;
07.
   char string [100];
08.

09.
   pFile = fopen ("test.txt" , "r");
10.
   if (pFile == NULL) perror ("Error opening file");
11.
   else {
12.
     fgets (string , 5 , pFile);
13.
     puts(string);
14.
     fclose (pFile);
15.
     if (strcmp(string,"2.0") != 0) {
16.
        puts("Programm wird gestartet");
17.
        system("\"E:\\Programme\\Windows Media Player\\wmplayer.exe\"");
18.
     }
19.
   }
20.
   system("PAUSE");
21.
   return 0;
22.
}
Dieser Code funktioniert bei mir.
Die Datei test.txt liegt im gleichen Verzeichnis wie die Exe Datei des Programms. Ich kann also keinen Fehler finden.
Bitte warten ..
Mitglied: Michi262
02.03.2008 um 17:32 Uhr
lol. der code geht bei mir auch net
Bitte warten ..
Mitglied: miniversum
02.03.2008 um 17:50 Uhr
Also wenn ich bei mir mein DEV C++ starte, ein neues C++ Projekt anlege, dann den Code so reinkopiere und auf compilieren klicke läuft das Programm. Ich kanns echt nicht nachvollziehen.
Bitte warten ..
Mitglied: Michi262
04.03.2008 um 23:18 Uhr
ja das ist schon komisch. ich arbeite mit lcc.

wie müsste denm der code heißen wenn er eine varable aus lesen soll und das programm im qellcode weiterlaufen soll. außer die variable stimmt nicht dann soll eine Fehlermeldung erscheinen mit einem Button (wo am besten draufsteht "Update").

MFg Michi26206
Bitte warten ..
Mitglied: miniversum
05.03.2008 um 09:08 Uhr
Wie meinst du das ne Variable auslesen?

Wenn Du buttons willst dann solltst du visual studio oder so nehmen.

Hast du es den mal mit DEV-C++ versucht ob es da bei dir geht?
Bitte warten ..
Mitglied: Michi262
05.03.2008 um 15:11 Uhr
ne mit DEV-C++ hab ich´s nicht versucht.

Also ich will mit wget wieder die Datei version.txt aus dem Internet laden. dann soll das Programm überprüfen ob die Variabel mit der die im Programm steht übereinstimmt oder nicht. Wenn sie stimmt läuft das Programm weiter. Wenn sie nicht stimmt soll ein Fenster mit der Nachricht: "Es ist ein neues Update vorhanden. Bitte laden Sie sich das Update." und darunter ein Button auf dem steht "Update" der dann auf eine Internetseite führen soll

Bild:

[url]http://img507.imageshack.us/my.php?image=updatezl1.png[/url]

PS: entschuldigt die [url] aber wenn ich die weg lasse zeigt er nich den link
Bitte warten ..
Mitglied: miniversum
05.03.2008 um 19:07 Uhr
Für so ein Fenster brauchst du dann visual c++ express oder was vergleichbares.
dann kanst du damit das fenster entwerfen und anzeigen lassen.
Aber da bin ich dann überfragt weil ich für so sachen nie c++ nehme.
Bitte warten ..
Mitglied: Michi262
06.03.2008 um 00:01 Uhr
gibt es dann was vergleichbares das du kannst?
Bitte warten ..
Mitglied: miniversum
06.03.2008 um 10:12 Uhr
nein ich kenn nichts vergleichbares. Aber wie gesagt ich machen in c++ eigentlich nie was mit Fenstern.

die express version vom VS ist ja kostenlos
Bitte warten ..
Mitglied: Michi262
07.03.2008 um 23:17 Uhr
ach so ok. ich hscu mal nach einer alternative. wenn ich was brauche melde ich mich

MFG Michi262

PS: danke mal für alles
Bitte warten ..
Mitglied: Michi262
08.03.2008 um 17:21 Uhr
sry wegen doppelpost.

kannst du mir den wget cod pls geben?
ich finde ihn nicht unter den vielen angebotenen sachen

MFG Michi262
Bitte warten ..
Mitglied: Michi262
08.03.2008 um 20:46 Uhr
ok. danke werde ich dann gleich mal testen. hoffentlich klappts
Bitte warten ..
Ähnliche Inhalte
C und C++

Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404

gelöst Frage von KatalinaC und C++35 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

C und C++

Hilfe in C Programmierung Diagram als ppm ausgeben

Frage von vabu84C und C++3 Kommentare

Ich muss in meiner Ausbildung eine Notenverwaltungssoftware als Konsolenprogramm schreiben. Es soll dem Anwender möglich sein eine Prüfung zu ...

Cloud-Dienste

Frag zu sftp und rsync

gelöst Frage von qwertz1Cloud-Dienste2 Kommentare

Hallo, ich habe eine Frage zu rsync im Zusammenspiel mit sftp. Ein Kunde hat sich bei Strato einen Online-Speicher ...

VB for Applications

VBA Programmierung

Frage von specialuserVB for Applications4 Kommentare

Hallo zusammen, der Wert aus Zelle L30 und N30 soll ins wb2 kopiert werden funktionier so weit auch ganz ...

Neue Wissensbeiträge
Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 6 StundenWindows 10

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 9 StundenSicherheit1 Kommentar

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 9 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 13 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs20 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Windows Server
Client in die Domäne einbinden - Allgemeine Frage dazu
gelöst Frage von RalphTWindows Server18 Kommentare

Moin, ich habe 2 DCs in einer Hauptstelle und 2 DCs in einer Nebenstelle. Ich bringe in der Hauptstelle ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...