Zum Inhalt springen

TemplerX

Mitglieder
  • Gesamte Inhalte

    7
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von TemplerX

  1. So sollte es auch sein, er sollte die einzelnen Zeilen an aus ZSPOrd and ZSPF anhängen, aber das wird bei mir nichts. Auch auf die anderen beiden Weisen nicht. Habe allerdings gerade gehört, dass sich die Aufgabe erledigt hat. Trotzdem vielen Dank Mfg Templer
  2. Hmm bei mir hängt er da leider nichts an... was heißt er hängt sich auf, stürzt bei dir das Programm ab ?
  3. Hi, habe ich auch schon versucht... Das einzige Problem scheint zu sein, dass "fputs(PfadC,ZSPF);" nicht funktioniert. Das verursacht dann noch einige weitere Fehler. Z.B. überspringt er deswegen Zeilen in der ZSP1.txt. Daher nochmal meine Frage: Ich arbeite ja die ZSP1.txt (mit fgets() ) durch und versuche dann in einer der unteren Schleifen mit fputs() "gleichzeitig" etwas anzuhängen. Verursacht das vllt. den Fehler ? Oder ist das kein Problem ? Ich kann auch einmal versuchen alles hier hochzuladen, damit man das kompilieren kann (inkl. der selben U-Ordner-Struktur usw. Mfg Templer
  4. Hi, bei rw dachte ich es wäre das Selbe wie r+. Allerdings half das nicht Ich arbeite ja die ZSP1.txt (mit fgets() ) durch und versuche dann in einer der unteren Schleifen mit fputs() "gleichzeitig" etwas anzuhängen. Verursacht das vllt. den Fehler ? Der Rückgabe wert von "fputs(PfadC,ZSPF);" ist 0 also auch in Ordnung. Es wird aber nicht ausgeführt. Nun habe ich aber anscheinend noch ein weiteres Problem, ich gebe mir meine erste Ordnerstruktur über Umlenkung in ZSP1.txt aus. Hier schreibt er alle rein (Test2, Test3, Text1.txt, Text2.txt, Text3.txt) aber er arbeitet nur die beiden Folder sowie Text3.txt in der Schleife ab. Mfg Templer #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <io.h> #include <sys\stat.h> #define TPL fflush(stdin); void chomp(char *str) { size_t p=strlen(str); /* '\n' mit '\0' überschreiben */ str[p-1]='\0'; } int main(int argc, char *argv[]) { FILE *ZSPF, *ZSPDat, *ZSPOrd, *ZSPT; char DirAusl[10] = "dir /b "; char DirCh[10] = "cd "; char QPfadA[256]; char QPfadB[265]; char PfadA[256]; char PfadB[256]; char PfadC[256]; char ZSP[290]; char CSP[290]; int txt1=0; int txt2=0; int pruef=0, OrdVorh=0; int i,zaehl=0; char a[33] = {0}; char b[33] = {0}; char a1[33] = {0}; char b1[33] = {0}; char MD5QPfadA[300] = "md5sum.exe "; char MD5QPfadB[300] = "md5sum.exe "; int c=0; TPL; if (argc==3) { system("echo. > Ord.txt"); system("echo. > Dat.txt"); strcpy (QPfadA,argv[1]); strcpy (QPfadB,argv[2]); strcpy (ZSP, DirAusl); strcat (ZSP, QPfadA); strcat (ZSP, " > ZSP1.txt"); system(ZSP); strcpy (CSP,DirCh); strcat (CSP,QPfadA); strcpy (ZSP,DirAusl); strcat (ZSP,QPfadA); ZSPF=(fopen("ZSP1.txt", "r+")); while(fgets(PfadA,256,ZSPF)) { chomp(PfadA); strcat (CSP,"\\"); strcat (CSP,PfadA); printf("2\n"); pruef=system(CSP); printf("%s\n\n",CSP); if (pruef==0) { strcat (ZSP,"\\"); strcat (ZSP,PfadA); strcat (ZSP, " > Ord.txt"); system (ZSP); printf("%s\n",ZSP); ZSPOrd=(fopen("Ord.txt", "r+")); while(fgets(PfadB,256,ZSPOrd)) { chomp(PfadB); //printf("\n%s Hier ist PfadB\n",PfadB); strcpy (PfadC,PfadA); strcat (PfadC,"\\"); strcat (PfadC, PfadB); //printf("\n%s Hier ist PfadC\n",PfadC); [COLOR="Red"][B]fputs(PfadC,ZSPF);[/B][/COLOR] } fclose(ZSPOrd); } [COLOR="red"][I] if (pruef==1) { ZSPDat=(fopen("Dat.txt", "r+")); strcat(PfadA, "\n"); [B]fputs(PfadA,ZSPDat);[/B] printf("1 %s\n",PfadA); chomp(PfadA); fclose(ZSPDat); }[/I][/COLOR] strcpy (CSP,DirCh); strcat (CSP,QPfadA); strcpy (ZSP,DirAusl); strcat (ZSP,QPfadA); } fclose(ZSPF); } else { printf("Zu wenig oder zu viele Parameter!\n md5v.exe Datei1 Datei2"); } return 0; }
  5. Hi, genau das ist mein Problem, denn diese Ausgabe "printf("\n%s Hier ist PfadB\n",PfadB);" bzw. die darauf folgende habe ich eingefügt um zu sehen, bis wohin ich komme. Beide werden auch korrekt ausgegeben nur der fputs() wird jeweils nicht ausgeführt. Ich habe heute schon eine ganze Weile überlegt, komme aber einfach nicht weiter... btw. ich arbeite mit DEV C++ (schreibe aber ein C-Prog) in Version 4.9.9.2. MfG Templer
  6. Hi, sorry für die Formatierung aber leider nimmt er alle Leerzeichen usw. raus. Um das Problem nochmal zu spezifizieren, die fputs()-Anweiseungen werden einfach übergangen, also nicht ausgeführft. Vorgegeben hierfür ist eine Dat.txt, eine Ord.txt und eine ZSP1.txt. Wo ist denn das Problem mit strcat und strcpy ? Ist leider nur mein Schul-C und jetzt brauchte ich ein Programm und versuchte es aus meinen Erinnerungen und mit einigen Online-Hilfen bauen. MfG Templer #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <io.h> #include <sys\stat.h> #define TPL fflush(stdin); void chomp(char *str) { size_t p=strlen(str); str[p-1]='\0'; } int main(int argc, char *argv[]) { FILE *ZSPF, *ZSPDat, *ZSPOrd, *ZSPT; char DirAusl[10] = "dir /b "; char DirCh[10] = "cd "; char QPfadA[256]; char QPfadB[265]; char PfadA[256]; char PfadB[256]; char PfadC[256]; char ZSP[290]; char CSP[290]; int txt1=0; int txt2=0; int pruef=0, OrdVorh=0; int i,zaehl=0; char a[33] = {0}; char b[33] = {0}; char a1[33] = {0}; char b1[33] = {0}; char MD5QPfadA[300] = "md5sum.exe "; char MD5QPfadB[300] = "md5sum.exe "; int c=0; TPL; if (argc==3) { strcpy (QPfadA,argv[1]); strcpy (QPfadB,argv[2]); strcpy (ZSP, DirAusl); strcat (ZSP, QPfadA); strcat (ZSP, " > ZSP1.txt"); system(ZSP); strcpy (CSP,DirCh); strcat (CSP,QPfadA); strcpy (ZSP,DirAusl); strcat (ZSP,QPfadA); ZSPF=(fopen("ZSP1.txt", "rw")); while(fgets(PfadA,256,ZSPF)) { chomp(PfadA); strcat (CSP,"\\"); strcat (CSP,PfadA); printf("2\n"); pruef=system(CSP); printf("%s\n\n",CSP); if (pruef==0) { strcat (ZSP,"\\"); strcat (ZSP,PfadA); strcat (ZSP, " > Ord.txt"); system (ZSP); printf("%s\n",ZSP); ZSPOrd=(fopen("Ord.txt", "rw")); while(fgets(PfadB,256,ZSPOrd)) { chomp(PfadB); printf("\n%s Hier ist PfadB\n",PfadB); strcpy (PfadC,PfadA); strcat (PfadC,"\\"); strcat (PfadC, PfadB); printf("\n%s Hier ist PfadC\n",PfadC); fputs(PfadC,ZSPF); } fclose(ZSPOrd); } if (pruef==1) { ZSPDat=(fopen("Dat.txt", "rw")); fputs(PfadA,ZSPDat); fclose(ZSPDat); printf("1 %s\n",PfadA); } strcpy (CSP,DirCh); strcat (CSP,QPfadA); strcpy (ZSP,DirAusl); strcat (ZSP,QPfadA); } fclose(ZSPF); } else { printf("Zu wenig oder zu viele Parameter!\n md5v.exe Datei1 Datei2"); } return 0; }
  7. Hi, ich habe heute versucht ein Programm zu schreiben, indem ich meine mir alle Dateien in einem Verzeichnis ausgeben lassen kann (inkl. Pfad). Danach wollte ich sie über md5sum.exe miteinander vergleichen. Letzteres lief auch schoneinmal aber dann wollte ich mehr Es funktioniert (soweit ich das bisher beurteilen kann alles ausser die beiden fputs. Aber warum verstehe ich nicht. Wäre froh, wenn mir jemand helfen könnte. Hier der QT. MfG Sebastian

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...