Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Verzeichnis erstellen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
11.07.2003, 07:54 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
Andyk postete
Hi,
...

C++:
//Im Header------------------------------
#undef GetFreeSpace
#import "C:\WINDOWS\system32\scrrun.dll"
using namespace Scripting;

...
}

....



Und das in einem ANSI C/C++ Forum:
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 11.07.2003 um 07:54 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
11.07.2003, 08:09 Uhr
DIO



Moin leutz,
bezugnehmend auf die Aussage "_xy"-Befehle sind nicht dazu da, verwendet zu werden, ich hab in meinem letzten Programm den Befehl _itoa verwendet. Allerdings
1. hat das ziemlich viel zeit gebraucht bis ich ihn überhaupt gefunden hatte.
2. hab ich auch keinen Befehl in diese Richtung gefunden, der überhaupt ansatzweise das macht was ich will, nämlich eine Integer in einen String zu konvertieren.
Weiß jemand wie der Befehl ohne "_" lautet oder was ich in diesem Fall tun kann wenn ich ohne _... Befehle programmieren will???

Greetz DIO
--
Wie einst ein großer Mathematiker sagte:
Wir müssen wissen - Wir werden wissen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
11.07.2003, 08:41 Uhr
Tommix



Hallo,
@DIO:
Bei einer neuen Frage ist es IMHO cleverer, einen neuen Thread aufzumachen. Normalerweise gibt es itoa auch ohne Unterstrich, aber es könnte sein, dass das kein ANSI ist. ANSI wäre:

C++:
#include <stdio.h>
int main()
{
  char s[80];
  int i = 12345;
  sprintf(s, "%d", i);
  return 0;
}



@~0xdeadbeef:
Wozu sind Funktionen, die nicht dazu gedacht sind, benutzt zu werden, gedacht?

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
11.07.2003, 08:56 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
Tommix postete
Hallo,
...
@~0xdeadbeef:
Wozu sind Funktionen, die nicht dazu gedacht sind, benutzt zu werden, gedacht?

Gruss, Tommix


Ich bin mal so frei zu antworten:
Gemäß Standard sind folgende Symbole Reserviert für den Compiler bzw. die Runtime Library:
1. Symbole, die mit einem Doppelten Underscore beginnen (zB "__internal_lookup")
2. Symbole, die mit einem Underscore beginnen, gefolgt von einem Großbuchstaben (zb "_X_INCLUDED").

Anmerkung 1:
Insbesondere die 2. Regel wird von vielen nicht berücksichtigt, weil sie solche Symbole als Includeguards verwenden. Wohl die meisten (hier) werden sich C/C++ autodidaktisch beigebracht haben und eben Includeguards aus den Systemheadern als Vorlage genommen haben und dann eben auch oft einen "chicen" Underscore vor ihren Guard schreiben. Ist halt nicht erlaubt: Die Systemheader dürfen das, weil sie zur Implementation gehören, eigene Header dürfen das nicht.

Anmerkung 2:
Damit ist auch klar, daß Symbole, die mit "_" Beginnen und danach einen kleinen Buchstaben haben, frei wählbar sind. Insbesondere bei _mkdir, _popen und wie sie alle heissen unter Windows würde ich mal behaupten, daß man sie gefahrlos verwenden kann (soweit sowas unter Windows möglich ist).
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 11.07.2003 um 08:57 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
11.07.2003, 09:43 Uhr
Tommix




Zitat:
virtual postete


Ich bin mal so frei zu antworten:
[/quote]
Danke.
Es ist mir immer noch nicht ganz klar. Heisst "... für den Compiler reserviert" , ich darf diese Symbole generell nicht benutzen oder nur ich darf solche Namen nicht für eigene Bezeichner verwenden. Ich hätte gedacht, ein

C++:
#ifdef _DEBUG


ist ok, ein

C++:
#define _MY_SPECIAL_BUILD


hingegen nicht ??

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
11.07.2003, 10:00 Uhr
virtual
Sexiest Bit alive
(Operator)


Wenn Dein Compiler sagt, daß _DEBUG ein Symbol ist, welches Du verwenden darfst, dann ist das okay, dann darfst Du es auch (allerdings bist du damit nicht mehr portabel). Du solltest halt - wie du selbst geschrieben hast, keine eigenen Symbole dieser Art definieren, weil du damit Symbole verwendest, die der Compiler jetzt oder in Zukunft verwenden könnte (für interne Zwecke).

Vielleicht gibt es ja irgendwann einmal ein Win64 Betriebssystem (ich nehme an, du bist Windows Programmierer), dann werden die Compiler plötzlich _WIN64 als ein Macro vordefinieren, wenn sie in einer 64 Bit umgebung arbeiten. Wenn Du das heute in deinen Source einbaust (also ein _WIN64 für eigene Zwecke), hast Du heute keine Probleme, in Zukunft dann aber schon, nämlcih dann, wenn Du auf den neuen Compiler umsteigst. Und Du kannst M$ dafür nicht verklagen: die haben sich diesmal dann sogar an den Standard gehalten.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
15.07.2003, 21:42 Uhr
Andyk



@virtual:Upsi da wirft man schon mal mit seinen windows c++ kenntnissen um sich...und dann das!peinlich, peinlich...
--
CU,
ANDYK
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
15.07.2003, 21:53 Uhr
0xdeadbeef
Gott
(Operator)


@AndyK: Das ginge aber einfacher mit

C++:
system("ls");


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: