Zum Inhalt springen

Poldi

Mitglieder
  • Gesamte Inhalte

    567
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Poldi

  1. Poldi

    ofstream + append

    der jemand war meine eine die nicht wußte, wie man dateien so öffnet, daß man den text anhängt und die datei beim öffnen nicht leert. da ich eingentlich nur c programmiere, c++ aber zu meinen prozeduralen zwecken mißbrauche, hab ich halt den captain gefragt, wie man das denn macht. @ capt. haddi: nix entwicklungsumgebung, hab den xemacs unter unix (ein super teil, das muß ich schon lobend anmerken) und ein paar tutorials und mehrere c bücher. außerdem manpages (ich hasse diese dinger) und sonst nix!
  2. <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von captain haddock: <STRONG>@poldi: Schick, aber ich weiß nicht, ob die ganzen malloc's zur erhellung beitragen ... abgesehen davon vermisse ich die entsprechenden free's, und du reichst die Zeiger ja nicht nach außen weiter :confused: Als U-Nixe solltest du Fehlermeldungen doch auf stderr schreiben: fputs("Fehler!", stderr); ( [f]puts() is glaub ich bei Konstanten schneller ) nur nebenbei... </STRONG>
  3. da ich denke daß du unter windows arbeitest, hier mal schritt für schritt: deine main funktion sollte so aussehen: #define MAXCHARS 1500 // global in diesem beispiel: char InputFile[MAXCHARS]; int main(int argc, char *argv[]) { ... Programmaufruf_pruefen(int argc, char *argv[]); } implementier dir eine funktion "programmaufruf prüfen", der du argc und argv übergibst: void Programmaufruf_pruefen(int argc, char *argv[]) { // Variablen: int cntPara; //Counter für for-Schleife char *paramValue2; char *paramValue1; // -------------------- // mindestens ein parameter soll übergeben werden // parameter 1 == programmname if (argc >= 3) { for (cntPara = 0; cntPara < argc; cntPara++) { if ((paramValue1 = (char*)malloc((strlen(argv[cntPara]) + 1) * sizeof(char)))==NULL) { printf("Speicher konnte nicht reserviert werden!\n"); printf("Programm bricht ab!\n"); exit(55); } paramValue1 = argv[cntPara]; // "-i" kennzeichnen die Input Dateien // wenn paramValue1 eine Input Datei indiziert, so soll der nächste // Parameter an die Input File Liste angehängt werden if (strcmp(paramValue1, "-i") == 0) { // diese Bedingung überprüft, ob es tatsächlich auch einen // nächsten Parameter gibt if ((cntPara+1) < argc) { if ((paramValue2 = (char*)malloc((strlen(argv[cntPara+1]) + 1) * sizeof(char)))==NULL) { printf("Speicher konnte nicht reserviert werden!\n"); printf("Programm bricht ab!\n"); exit(55); } paramValue2 = argv[cntPara+1]; // der name deiner input datei wird in InputFile abgelegt stringcopy(InputFile, paramValue2, MAXCHARS); printf("\nInputFile: %s", InputFile); } else { printf ("Fehler bei Angabe der Input-Datei!\n"); exit(88); } } } else { printf("\nInkorrekter Aufruf!\n"); exit(99); } // es wird für jede Input Datei und für die Output Datei geprüft, ob die Dateien // mit den benötigten Rechten geöffnet werden können. } 1.) compilier dein programm 2.) öffne eine dos box (Start->Ausführen->cmd tippen und enter drücken) 3.) wechsel in dein verzeichnis, dahin wo die exe liegt 4.) tipp folgendes ein: a) programmname leerzeichen c)-i d) leerzeichen e) dateiname der datei, die du einlesen willst. BSP: meinProgramm.exe -i c:\\meineDatei
  4. das lied ist eh doof, also macht euch doch darum keinen kopp ...
  5. du implementierst dir eine funktion, nennen wir sie mal "programmaufruf_pruefen", in welcher du die übergebenen parameter auswertest. das sieht dann zum beispiel so aus: Aufruf: <programm> -i <input_datei> -i <input_datei> -s <suchstring> in der funktion suchst du dann immer nach einem -i; wenn du eins findest, kopierst du den nächsten parameter in eine input variable, usw. wenn du ein -s findest, kopierst du den folgenden sting in deine suchstring variable. so kann der user dann eine liste von dateien übergeben, welche durchsucht werden sollen, sowie der suchstring, den es zu finden gilt. was du davon hast? ganz einfach, unter unix kommt es z.b. oft vor, daß programme in cron jobs eingebunden werden, also immer zu einer bestimmten zeit ausgeführt werden sollen. da das ja auch nachts sein kann, wo niemand da ist, wäre es fatal, wenn das programm auf interaktive eingaben warten würde. das hätte zur folge, daß das programm auf eine tastatur eingabe wartet und alles bis zum morgen steht, da das programm sich ja nicht beendet und alle nachfolgenden jobs im cron job nicht mehr ausgeführt werden können. so kannst du im cron job das programm mit bestimmten parametern aufrufen. wenn sich die dateinamen oder pfade ändern, muß man auch nur änderungen im aufruf vornehmen; andererseits müßtest du das im quellcode ändern, was erstens nicht nur aufwendiger, sondern auch gefährlicher sein kann, wenn da jemand drin rummatscht, der keine ahnung hat.
  6. naja, wenn man so tief rutscht, stellt man sich doch quasi mit dem auf eine stufe, finde ich.
  7. Hallöle, kann mir mal jemand verraten, was folgende Anweisung tut: using namespace std; Wozu brauch ich das? Was macht das?
  8. was steht denn direkt nach dem scanf in den variablen? laß dir die mal ausgeben, nach dem einlesen; wenn der inhalt dann stimmt, liegt der Fehler woanders. Wenn der Inhalt direkt nach dem einlesen nicht stimmt, meld dich noch mal.
  9. <-- sonntag auch zur spiele fährt *freu*
  10. sql ist doch eingentlich keine programmiersprache. da gibts weder schleifen noch variablen noch sonstwas. programmier mal n taschenrechner mit sql!!! ... und, was viel wichtiger ist: ICH HASSE SQL & DATENBANKEN!! so, jetzt gehts mir besser
  11. Poldi

    Milzbranderreger

    @ crash: in dem antrax pulver gedöns sind die milzbranderreger drin @ sternchen: hast recht, wenns klumpt, dann kann mans ja auch schlecht einatmen, gelle? @ meister lampe: werd ich mir überlegen, hängt davon ab, ob mein freund gleich gekocht hat, wenn ich nach hause komme ... *fg*
  12. frag mal meinen scheff, der kann dir da n liedchen drüber singen ... *lachwech*
  13. kannst das auch so machen: char puffer[2000]; String zeile; strcpy(puffer,"bla bla bla bla bla bla"); zeile = puffer; cout << "\nzeilenlänge: " << zeile; dat funzt jenauso.
  14. Poldi

    AOL DSL Flat und Linux

    jau, aol geht tatsächlich nur mit software. die haben so offensichtlich auch genug kunden ... wers braucht. meine eine wird sobald mein dsl anschluß steht dann wohl auch zu t-online wechseln ... wir wollen nämlich auch nen linux server aufsetzen ...
  15. also, erst öffnest du die datei (s.o.) dann liest du immer eine zeile in einen string ein. du speicherst dann ja nicht die komplette datei ab. zeilen haben selten mehr als 2000 zeichen ... #include ... #define MAXSTRLEN 2000 void main() { char puffer[MAXSTRLEN]; ifstream datei("/home/daten/meine.datei"); if (!datei) cout << "\nKonnte Datei nicht öffnen!"; while (!datei.eof()) { datei.getline(puffer,MAXSTRLEN); } }
  16. coole sache! es gibt also doch noch leute mit eigenen ideen!!
  17. Poldi

    Milzbranderreger

    @ crash: meine worte ... *fg* @ mister lampe: DIE Poldi, bittesehr!!
  18. usage von ifstream: ifstream datei("/home/daten/meine.datei"); if (!datei) cout << "\nKonnte Datei nicht öffnen!"; datei ist der dateihandler, in den klammern steht der pfad. ansonsten wars das. was für einen puffer meinst du?!
  19. Poldi

    Milzbranderreger

    aaalso, ich halt gar nix von der hysterie dieser tage ... 1.) antibiotika helfen; nur wenn die krankheit ganz übersehen wird ist das tödlich. erkennt man es schnell genug: no problem 2.) es ist nicht ansteckend. jedenfalls nicht von mensch zu mensch. daher ist der begriff seuche falsch, da sich eine seuche nicht zuletzt dadurch auszeichnet, daß menschen sich gegenseitig anstecken. 3.) WIR SIND HIER NICHT IN DEN USA!! die ganzen afghanischen bin ladens sind momentan zu genüge mit den usa beschäftigt, und werden ihre wertvollen milzbrandbriefchen nicht an uns vergeuden. also keine panik. wenn hier wirklich ein milzbrandfall auftritt, bin ich bereit zu wetten, daß das ein trittbrettfahrer ist. die brauchen das zeug nämlich wie gesagt für die amis. und solche massen von dem zeug werden die auch nicht haben. 4.) wenn ihr ein weißes pulver auf der straße seht, ist die wahrscheinlichkeit extrem groß, daß es sich darum um etwas mehl aus einer aufgeplatzen mehlpackung handelt, um reste von kalk, weil kalksäcke verladen wurden, oder um ein bischen rattengift, mit dem der katzenhassende nachbar seine katzenköder bestreut hat. also nicht wegen jedem mist hysterisch werden, bittesehr. 5.) solche probleme werden wir wahrscheinlich erst bekommen, wenn die usa plattgemacht worden sind. und bis dahin dauert es noch etwas. da das mehr als unwarscheinlich ist, können wir uns also alle wieder einkriegen.
  20. ich würd an deiner stelle auch strukturen benutzen. aus diesen strukturen kannst du verkettete listen machen, welche auch sortiert werden können. außerdem ist es möglich, mittels pointer von einem struktur-listenelement auf den anfang einer anderen verketteten liste zu verweisen, wodurch du mehrdimensionale strukturen simulieren kannst.
  21. @evil: sei froh, daß du das nicht im psychologiestudentenforum gepostet hast ... *fg* a bisserl morbide der kleine
  22. Poldi

    clear screen

    in der conio.h gibt es die funktion clrscr() die angeblich das selbe macht. greetz, poldi
  23. Poldi

    Joop spinnt.....

    Schröder kritisiere ich allerdings auch. Ich hab keinen Bock durch eine Steuererhöhung den Mord unschuldiger Zivilisten mitzufinanzieren. Als wenn die USA "aus Versehen" ein Dorf bombardieren ... das ich nicht lache. Die Amis kommen eh nicht mehr von ihrem "wir haben Recht und alle die uns nicht mögen sind unzivilisierte Würmer"-Trip runter.
  24. Poldi

    Ascii-Code

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Hasi: <STRONG> "wer programmieren kann! dem ist es egal mit welchem tool! ich finde Visual sehr komfortabel und schoen zu proggen!"</STRONG>
  25. Poldi

    Probleme mit fgetc

    du hast das do vergessen: do { bla bla bla; } while (Bedingung); du kannst dir auch noch n int array zusätzlich anlegen, in dem du dir merkst, wo in dem anderen array das nächste wort anfängt. dann kannst du die später auch wieder ausgeben.

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...