Zum Inhalt springen

maxim_42

Mitglieder
  • Gesamte Inhalte

    145
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von maxim_42

  1. Es mag etwas pedantisch erscheinen, wird man doch in der Mehrzahl der Fälle keinen Unterschied merken. Aber die Definition, was ein iostream zu tun hat steht im C++ Standart. iostream.h gab es vor dem (neuen) Standart, eine Garantie für konformes Verhalten gibts nur vom Hersteller. Am ehesten kann man sich die classic iostream (iostream.h) als eine Extension von standart iostream vorstellen.
  2. maxim_42

    system("dir");

    ja, schon. Aber die sind dann plattformabhängig und haben hier nix zu suchen.
  3. @Klotzkopp Yesss Sir! Sorry
  4. Hi Hat jemand Erfahrungen mit dem Metrowerks CodeWorrior Compiler, speziell was die Erzeugung von NLM's angeht? Das klappt bei mir nicht. Und bevor ich das hier jetzt alles aufrolle, ersmal diese
  5. gethostname() reicht im allgemeinen nicht aus. Im SMTP Hello Kommando sollte nach Hello der Name der Domäne des Absenders stehen. Um den zu bekommen muß man mit dem lokalen Rechnernamen den gethostname() liefert, die funktion gethostbyname füttern. (liefert für den namen etwa host1.domaene.com) Näheres in der winsock2 api. Wenn es trotzdem funktioniert, dann weil es den meisten SMTP MTA (mail transfer agent) egal ist was hinterm Hello steht. Das heißt es wird von ihnen nicht überprüft, ob das tatsächlich eine existierende Domäne ist.
  6. Es gibt einfach zwei iostream Implementierungen. includiert man iostream.h dann nimmt man die nicht garantiert standartkonforme iostream des Compilerherstellers. includiert man #include<iostream> , so ist das die Iostream- Implementierung des Standart - c++. Ähnliches gild auch für andere Header.
  7. #include <math.h> double res; double dummy= -1*t/r*c; res=exp(dummy); alles klar?
  8. Ein mehrdimensionales Array scheint mir ein grundsätzlich falscher Ansatz zu sein. Denn, obwohl mehrdimensional, kannst du nur einen Datentyp darin unterbringen. Man kann also zum Beispiel mit einem char[100][100] einhundert Zeichenketten darstellen, man kann aber keine ints unterbringen (der typ der in den 100*100*sizeof(char) steht muss immer derselbe sein). Da ist der Ansatz mit verketteten Listen schon besser.
  9. Etwa so? #include <iostream> #include <string> using namespace std; // erspart std::cout man kann statt dessen // einfach cout schreiben. struct Eintraege{ int entfernung; string name; }; #define MAX_ANZAHL_EINTRAEGE 100 int main(){ int index=0; bool found; int dummy; string strDummy; Eintraege myEintraege[MAX_ANZAHL_EINTRAEGE]; do{ found =false; cout<<"Ihr Reiseziel?\nAbrruch mit X<RETURN>\n"; cin>>strDummy; if(strDummy== "X") return 0; for(int i=0; i<index; i++){ if(myEintraege.name == strDummy) { cout<<"Entfernung: "<< myEintraege.entfernung<<endl; found= true; break; } } if(!found){ cout<<"Entfernung angeben:\n"; cin>> myEintraege[index].entfernung; myEintraege[index++].name= strDummy; } }while(index< MAX_ANZAHL_EINTRAEGE); return 1; } Das lässt sich in C++ mit den Standartkontainern auch eleganter machen. Statt Eintraege als Struct zu implementieren kann man auch eine Klasse schreiben und eine Instanz erteugen wenn ein Eintrag nicht gefunden wurde. Da das ganze aber wie eine Aufgabe aussieht ist diese Lösung eher C-orientiert.
  10. Mir gehts da weniger um Schnelligkeit sondern eher um Klarheit. Das alles mag Geschmackssache sein- ich finde einen Namen pro Zustandsgröße einfach klarer und lesbarer.( Und wenns compiliert, who cares?) Ich muß ehrlich zugeben, das ich schon 'ne Weile nicht mehr in reinem C programmiert habe- ich hatte wegen den Unterschieden zu C++ etwas Schwierigkeiten den Code fehlerfrei hinzukriege. Meine Herangehensweise war dann auch schauen wie ichs in c++ machen würde und dann in c zu übersetzen. Tschau
  11. Da haste dir ja was aufgehalst... Das wird wohl dran liegen, dass der Text quoted-printable ist. Das ist eine Codierung, die es erlaubt, 8bit-Zeichen über einen Transportweg, der nur 7bit-Zeichen zulässt zu transportieren. Infos dazu in der RFC2045. Neben dieser RFC sind noch die folgenden bis 2047 (sie deffinieren MIME) und die RFC2821 und RFC2822 für dich relevant. Viel Glück
  12. Hier eine etwas andere Herangehensweise: Wenn es schon unterschiedliche Zustandsgrößen in einem unsigned char gibt, könnte man ihnen auch Namen geben. Etwa so: #include <stdio.h> #define BLINKEN 1 #define NICHT_BLINKEN 0 struct StatusFeld{ unsigned char power :4; /* 4bit fuer die Power */ unsigned char modus :4; /* und 4 fuer den Modus */ }; int anschalten(unsigned char*,int,int); /* Wertebereich fuer lampe 1, 2, 3, 4 ( 0 bis 3 wäre schoener)*/ /* Wertebereich fuer modus 0, 1 */ int anschalten(unsigned char* pAlleLampen,int lampe,int mod){ struct StatusFeld *pbitfeld = (struct StatusFeld*) pAlleLampen; if(lampe <1 || lampe > 4) return 1; if(mod !=1 && mod) return 2; pbitfeld->power |= 1<<(lampe- 1); pbitfeld->modus = (mod == 0) ? pbitfeld->modus & (~(1<<(lampe- 1))) : pbitfeld->modus | (1<<(lampe-1)); return 0; } int main( void ) { unsigned char alleMeineLampen = 0; /* jaaa mach sie an! */ anschalten(&alleMeineLampen, 2, 1); printf("%i\n",(int)alleMeineLampen);/* Ausgabe 34 => 0010 | 0010 */ anschalten(&alleMeineLampen, 3, 1); printf("%i\n",(int)alleMeineLampen);/* Ausgabe 102 => 0110 | 0110 */ anschalten(&alleMeineLampen, 2, 0); printf("%i\n",(int)alleMeineLampen);/* Ausgabe 70 => 0100 | 0110 */ return 0; }

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