Stoppt die Vorratsdatenspeicherung! Jetzt klicken && handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:
 
Konsolenprogramme
von Plapperkatze am 27.Januar 2006 um 20:33
zurück zur Kategorie "Tutorials"

Hallo Freunde,
bevor wir zur Windows-Programmierung kommen, zeige ich euch noch ein paar Konsolenprogramme.

Zum Beispiel scannt folgendes Programm rekursiv durch alle Ordner eines eurer Laufwerke.

#include<dir.h> // hier ist findfirst(),findnext(), etc.
#include<string.h> // hier sind befehle zur bearbeitung von c-strings  
#include<stdio.h> // stdio für konsolenausgabe (printf)
#include<conio.h> // hier ist nur getch(), warten auf eine taste
//-------------------------------------------------------------------------------
// liste ordner, rekursiv
//-------------------------------------------------------------------------------
void list_folders(char *path)
{
 struct ffblk ff;
 char p[1024];
 strcpy(p,path);
 strcat(p,"\\");
 strcat(p,"*");
 printf("%s\n\r",p);
 if(findfirst(p,&ff,FA_HIDDEN|FA_DIREC)==0)
 {
   if(!strstr(ff.ff_name,"."))
   {
     strcpy(p,path);
     strcat(p,"\\");
     strcat(p,ff.ff_name);
     list_folders(p);
   }
   while(!findnext(&ff))
   {
     if(strstr(ff.ff_name,".")==0)
     {
       strcpy(p,path);
       strcat(p,"\\");
       strcat(p,ff.ff_name);
       list_folders(p);
     }        
   }
 }
 else
 {
   printf("ein fehler ist aufgetreten.\n\r");    
 }
}
//-------------------------------------------------------------------------------
// einsprungspunkt: main()
//-------------------------------------------------------------------------------
int main(int argc, char *argv[])
{
 char drive[]="C:";  // laufwerk
 list_folders(drive);  // scannen
 printf("finished. hit a key to continue.\n\r");
 getch();
 return 0;
}
//-------------------------------------------------------------------------------

int main(int argc, char *argv[]) ist die hauptfunktion und ruft nur list_folders(char *path) auf und wartet dann auf einen Tastendruck.

list_folders(char *path) ist die rekursive routine, wobei drive der Pfad ist, der gescannt werden soll. Es liest also Eintrag für Eintrag das angegebene Verzeichnis. Der Clou ist nun, dass es sich wiederum selbst aufruft, sobald es ein tieferliegendes Verzeichnis findet, und so durch alle Ordner "crawled".

[blub]

Das hier kompiliert wahrscheinlich nur mit bcc32, eine bunte Konsole..
#include<conio.h>
#include<stdio.h>

int main(int argc, char *argv[])
{
 int i;
 for(i=0;i<256;i++)
 {
   textcolor(i);
   cprintf("%c",i);
 }
 printf("\n\r");
 getch();
 return 0;
}


#include<conio.h>
#include<stdio.h>

int main(int argc, char *argv[])
{
 window(2,2,6,6);
 textbackground(6);
 clrscr();
 textcolor(0);
 cprintf("test!\n\r");
 getch();
 return 0;
}

grüsse von der plapperkatz

zurück zur Kategorie "Tutorials"
[0 Kommentare]

Name


Kommentar




Bitte abtippen


 
(C) 2006-20012 Plapperkatze - 215303 Besucher seit dem 23.01.2012 Login