C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

C-Strings

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Jens Lenge
Guest





PostPosted: Thu May 11, 2006 6:03 pm    Post subject: C-Strings Reply with quote



Hallo Welt,

sorry für die etwas Newbie-mäßige Frage, aber ich hab in dieser
Deutlichkeit nichts dazu gefunden. Ich hab etwas Konfusion, wann genau
wieviel Platz für C-Strings (mit/ohne abschließendem Nullbyte)
angelegt wird:

1) Statisch: char s[100];
2) Dynamisch: char* s = new char[100];
3) Alt-C-mäßig: char* s = (char*)malloc(100);

Was gilt nun genau?

a) In allen drei Fällen werden exakt 100 Bytes (bzw. 100x Größe
eines char) angelegt. Das abschließende Nullbyte ist darin bereits
enthalten, so dass der String maximal (99 Zeichen + Nullbyte) lang
werden darf.

b) In allen drei Fällen werden exakt 101 Bytes (bzw. 101x Größe
eines char) angelegt - eines mehr als angegeben, für das
abschließende Nullbyte. Der String darf damit maximal (100 Zeichen +
Nullbyte) lang werden.

c) Die Varianten verhalten sich unterschiedlich, nämlich ...

Zusatzfrage:
Welchen Wert muss man in den obigen Fällen jeweils als Puffergröße
für strcpy_s(...) einsetzen, die maximale Länge ohne oder inklusive
Nullbyte?

Ratlos, Jens

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Stefan Reuther
Guest





PostPosted: Fri May 12, 2006 6:21 pm    Post subject: Re: C-Strings Reply with quote



Hallo,

Jens Lenge wrote:
Quote:
1) Statisch: char s[100];
2) Dynamisch: char* s = new char[100];
3) Alt-C-mäßig: char* s = (char*)malloc(100);

Was gilt nun genau?

a) In allen drei Fällen werden exakt 100 Bytes (bzw. 100x Größe
eines char) angelegt. Das abschließende Nullbyte ist darin bereits
enthalten, so dass der String maximal (99 Zeichen + Nullbyte) lang
werden darf.

Genau das (Größe eines 'char' ist übrigens per Definition 1 Byte).

In ein Array, das du mit der Größe 100 dimensionierst, kannst du 100
Zeichen reinpacken. Nullterminierte Strings sind nur eine Konvention.
Wenn also das letzte Zeichen ein Nullbyte sein soll, bleibt Platz für 99
Nutzdaten-Zeichen. Du könntest ja auch die Länge woanders speichern und
dann alle 100 Speicherplätze für Nutzdaten verwenden.

Quote:
Zusatzfrage:
Welchen Wert muss man in den obigen Fällen jeweils als Puffergröße
für strcpy_s(...) einsetzen, die maximale Länge ohne oder inklusive
Nullbyte?

Das entnimmst du am besten der Dokumentation der Funktion strcpy_s, da
diese nicht Bestandteil der normierten Standardbibliothek ist. Meine
Compiler haben sie nicht.


Stefan

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Thomas Maeder
Guest





PostPosted: Fri May 12, 2006 9:21 pm    Post subject: Re: C-Strings Reply with quote



"Jens Lenge" <spampot (AT) gmx (DOT) net> writes:



Quote:
sorry für die etwas Newbie-mäßige Frage,



Kein Grund für "sorry".





Quote:
aber ich hab in dieser Deutlichkeit nichts dazu gefunden. Ich hab

etwas Konfusion, wann genau wieviel Platz für C-Strings (mit/ohne

abschließendem Nullbyte) angelegt wird:



1) Statisch: char s[100];



s ist ein Array von 100 char-Objekten, welche mit 0 initialisiert

werden.





Quote:
2) Dynamisch: char* s = new char[100];



s zeigt auf das erste Element eines Array von 100 uninitialisierten

char-Objekten.





Quote:
3) Alt-C-mäßig: char* s = (char*)malloc(100);



Wie 2), einfach mit anderer Speicherallozierung.



Ich würde übrigens *immer* static_cast verwenden statt des C casts.





Quote:
Was gilt nun genau?



a) In allen drei Fällen werden exakt 100 Bytes (bzw. 100x Größe

eines char) angelegt. Das abschließende Nullbyte ist darin bereits

enthalten, so dass der String maximal (99 Zeichen + Nullbyte) lang

werden darf.



Fast korrekt. Es hat aber in keinem der Arrays ein abschliessendes

Nullbyte (na ja, im Fall 1) ist das erste Element ein abschliessendes

Nullbyte).





Quote:
b) In allen drei Fällen werden exakt 101 Bytes (bzw. 101x Größe

eines char) angelegt - eines mehr als angegeben, für das

abschließende Nullbyte. Der String darf damit maximal (100 Zeichen +

Nullbyte) lang werden.



Total falsch.





Quote:
c) Die Varianten verhalten sich unterschiedlich, nämlich ...



.... die Elemente werden unterschiedlich initialisiert.





Quote:
Zusatzfrage:

Welchen Wert muss man in den obigen Fällen jeweils als Puffergröße

für strcpy_s(...) einsetzen, die maximale Länge ohne oder inklusive

Nullbyte?



Was ist strcpy_s?


--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Harald Wenninger
Guest





PostPosted: Fri May 12, 2006 9:24 pm    Post subject: Re: C-Strings Reply with quote

* Jens Lenge tat kund und zu wissen:

Quote:
sorry für die etwas Newbie-mäßige Frage, aber ich hab in dieser
Deutlichkeit nichts dazu gefunden. Ich hab etwas Konfusion, wann genau
wieviel Platz für C-Strings (mit/ohne abschließendem Nullbyte)
angelegt wird:

1) Statisch: char s[100];
2) Dynamisch: char* s = new char[100];
3) Alt-C-mäßig: char* s = (char*)malloc(100);

Was gilt nun genau?

a) In allen drei Fällen werden exakt 100 Bytes (bzw. 100x Größe
eines char) angelegt. Das abschließende Nullbyte ist darin bereits
enthalten, so dass der String maximal (99 Zeichen + Nullbyte) lang
werden darf.

Diese Variante ist richtig. Du bekommst bei C++ immer nur das, nach dem
du fragst.

Gruß,
Harald

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Christian Rupprecht
Guest





PostPosted: Sat May 13, 2006 1:56 pm    Post subject: Re: C-Strings Reply with quote

Hallo,

Quote:
1) Statisch: char s[100];

s ist ein Array von 100 char-Objekten, welche mit 0 initialisiert
werden.

Das steht da aber nicht. "Statisch:" heiss hier wohl lokale
Automatikvariable auf dem Stack.
Nur static- und global Variablen werden automatisch initialisiert.

Viele Grüße,
Christian

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Jens Lenge
Guest





PostPosted: Sun May 14, 2006 11:21 am    Post subject: Re: C-Strings Reply with quote

Hallo alle,

1. Danke für die Antworten!
2. Das mit dem static_cast stimmt natürlich.
3. Was mich aber stutzig macht, ist die Frage nach strcpy_s.

Diese Funktion ist AFAIK Bestandteil des C-Standards, zusammen mit strcat_s,
localtime_s, fopen_s und einer ganzen Reihe anderer "_s"-Funktionen. Sie die
entsprechenden "alten" Funktionen ohne "_s" (die für deprecated erklärt
wurden) durch sicherere Varianten.

Da mein C++-Compiler sie kennt und in der Doku auch exakt so beschreibt, bin
ich davon ausgegangen, dass sie auch zum C++-Standard gehören. Liege ich
damit falsch?

Jens

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Rolf Magnus
Guest





PostPosted: Sun May 14, 2006 4:21 pm    Post subject: Re: C-Strings Reply with quote

Jens Lenge wrote:

Quote:
Hallo alle,

1. Danke für die Antworten!
2. Das mit dem static_cast stimmt natürlich.
3. Was mich aber stutzig macht, ist die Frage nach strcpy_s.

Diese Funktion ist AFAIK Bestandteil des C-Standards, zusammen mit
strcat_s, localtime_s, fopen_s und einer ganzen Reihe anderer
"_s"-Funktionen.

Nein. Funktionen mit diesen Namen gibt es in ISO-C nicht.

Quote:
Sie die entsprechenden "alten" Funktionen ohne "_s" (die für deprecated
erklärt wurden) durch sicherere Varianten.

Was heißt "sicherere Varianten"? Was genau ist an diesen Funktionen denn
sicherer?

Quote:
Da mein C++-Compiler sie kennt und in der Doku auch exakt so beschreibt,
bin ich davon ausgegangen, dass sie auch zum C++-Standard gehören. Liege
ich damit falsch?

Ja.

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Jens Lenge
Guest





PostPosted: Sun May 14, 2006 8:40 pm    Post subject: Re: C-Strings Reply with quote

"Rolf Magnus" <ramagnus@t-online.de> schrieb:

Quote:
Nein. Funktionen mit diesen Namen gibt es in ISO-C nicht.
Was heißt "sicherere Varianten"? Was genau ist an diesen Funktionen denn
sicherer?

Hab grad nochmal nachgeschaut, diesmal bei Visual C++ 2005 in der
Online-Hilfe zu "strcpy":

<Zitat>

strcpy, [...]

Copy a string. These functions are deprecated because more secure versions
are available; see strcpy_s, wcscpy_s, _mbscpy_s.

char *strcpy(
char *strDestination,
const char *strSource
);

[...]
</Zitat>

Und zu "strcpy_s" heißt es:

<Zitat>

strcpy_s, [...]

Copy a string. These are versions of strcpy, wcscpy, _mbscpy with security
enhancements as described in Security Enhancements in the CRT.

errno_t strcpy_s(
char *strDestination,
size_t sizeInBytes,
const char *strSource
);

[...]

Significant enhancements have been made to make the CRT more secure. Many
CRT functions now have more secure versions. If a new secure function
exists, the older, less secure version is marked as deprecated and the new
version has the _s ("secure") suffix.
[...]
It should also be noted that the secure functions do not prevent or correct
security errors; rather, they catch errors when they occur. They perform
additional checks for error conditions, and in the case of an error, they
invoke an error handler (see Parameter Validation).
[...]
For example, the strcpy function has no way of telling if the string that
it's copying is too big for its destination buffer. However, its secure
counterpart, strcpy_s, takes the size of the buffer as a parameter, so it
can determine if a buffer overrun will occur. If you use strcpy_s to copy
eleven characters into a ten-character buffer, that is an error on your
part; strcpy_s cannot correct your mistake, but it can detect your error and
inform you by invoking the invalid parameter handler.
</Zitat>

Nur um das nochmal zweifelsfrei klarzustellen: Es handelt sich also
definitiv nicht um standardisierte Funktionen, sondern um einen
MS-Alleingang?

Jens

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Jens Lenge
Guest





PostPosted: Sun May 14, 2006 8:45 pm    Post subject: Re: C-Strings Reply with quote

Grad noch was dazu gefunden:

Quelle:
https://buildsecurityin.us-cert.gov/portal/article/knowledge/coding_practices/strcpy_s-strcat_s.xml

<Zitat>
The strcpy_s() and strcat_s() functions are defined in ISO/IEC WDTR 24731 as
a close replacement for strcpy() and strcat(). These functions have an
additional argument that specifies the maximum size of the destination and
also include a return value that indicates whether the operation was
successful.
</Zitat>

Das klingt jetzt doch eher wieder nach Standard als MS-proprietär, oder?

Mittlerweile arg verwirrt,
Jens

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Stefan Reuther
Guest





PostPosted: Sun May 14, 2006 8:53 pm    Post subject: Re: C-Strings Reply with quote

Jens Lenge wrote:
Quote:
3. Was mich aber stutzig macht, ist die Frage nach strcpy_s.

Diese Funktion ist AFAIK Bestandteil des C-Standards, zusammen mit
strcat_s, localtime_s, fopen_s und einer ganzen Reihe anderer
"_s"-Funktionen. Sie die entsprechenden "alten" Funktionen ohne "_s"
(die für deprecated erklärt wurden) durch sicherere Varianten.

Wenn das die Funktionen sind, von denen ich denke, dass sie es sind,
sind sie Teil des Microsoft-C-Standards, und die anderen Funktionen
wurden von Microsoft für deprecated erklärt.

Quote:
Da mein C++-Compiler sie kennt und in der Doku auch exakt so beschreibt,
bin ich davon ausgegangen, dass sie auch zum C++-Standard gehören. Liege
ich damit falsch?

Ja. Diese Funktionen sind weder Teil von ISO 14882 (C++), noch von ISO
9899 (C). Es gibt ein Dokument "WG14 N1031": "This Technical Report
specifies a series of extensions of the programming language C", welches
immerhin eine Funktion 'strncpy_s' (aber kein 'strcpy_s') beschreibt.
Das ist aber meines Wissens noch nicht irgendwie beschlossen oder
wenigstens unumstritten.


Stefan

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Rolf Magnus
Guest





PostPosted: Sun May 14, 2006 9:22 pm    Post subject: Re: C-Strings Reply with quote

Jens Lenge wrote:

Quote:
Grad noch was dazu gefunden:

Quelle:

https://buildsecurityin.us-cert.gov/portal/article/knowledge/coding_practices/strcpy_s-strcat_s.xml

Zitat
The strcpy_s() and strcat_s() functions are defined in ISO/IEC WDTR 24731
as a close replacement for strcpy() and strcat(). These functions have an
additional argument that specifies the maximum size of the destination and
also include a return value that indicates whether the operation was
successful.
/Zitat

Das klingt jetzt doch eher wieder nach Standard als MS-proprietär, oder?

Die C-Norm heißt ISO/IEC 9899:1999.
Ein WDTR ist ein "Working Draft Technical Report". Direkt aus
ISO/IEC WDTR 24731:
Warning
This document is an ISO/IEC draft Technical Report. It is not an ISO/IEC
International Technical Report. It is distributed for review and comment.
It is subject to change without notice and shall not be referred to as an
International Technical Report or International Standard.
Recipients of this draft are invited to submit, with their comments,
notification of any relevant patent rights of which they are aware and to
provide supporting documentation.

Das Dokument kann man z.B. dort einsehen:
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1093.pdf


Ich find's ja schon ziemlich absurd, wegen so einem Entwurf gleich mal die
Standardfunktionen für "deprecated" zu erklären.

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Jens Lenge
Guest





PostPosted: Mon May 15, 2006 12:27 am    Post subject: Re: C-Strings Reply with quote

"Rolf Magnus" <ramagnus@t-online.de> schrieb:

Quote:
Die C-Norm heißt ISO/IEC 9899:1999.
Ein WDTR ist ein "Working Draft Technical Report".

*Groschenfall* Danke für die Aufklärung!

Quote:
Direkt aus ISO/IEC WDTR 24731:
[...]

Zu Deutsch, das Teil ist eine "semioffizielle" Angelegenheit, die derzeit
für eine eventuell irgendwann zu beschließende neue Version des Standards
diskutiert wird.

Wenn die letzte Norm von 1999 datiert, müsste doch eigentlich 2004 eine neue
angestanden haben, oder? (IIRC war der turnusmäßige Rhythmus 5 Jahre.)

Da ich die _s-Funktionen aber durchaus sinnvoll finde und AFAIR einie der
Regulars hier in die Standardisierungsprozesse eingebunden oder zumindest
gut damit vertraut sind, mal vorsichtig in die Runde gefragt: Wie stehen
denn die Chancen dieses WDTR, in dieser oder abgewandelter Form Bestandteil
des nächsten C- und/oder C++-Standards zu werden?

Jens

Quote:
Ich find's ja schon ziemlich absurd, wegen so einem Entwurf gleich mal die
Standardfunktionen für "deprecated" zu erklären.

Vor dem Hintergund gebe ich Dir natürlich schwer recht!

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
kanze
Guest





PostPosted: Mon May 15, 2006 2:22 pm    Post subject: Re: C-Strings Reply with quote

Jens Lenge wrote:

[...]
Quote:
Wenn die letzte Norm von 1999 datiert, müsste doch eigentlich
2004 eine neue angestanden haben, oder? (IIRC war der
turnusmäßige Rhythmus 5 Jahre.)

Nicht genau. Nach fünf Jahre muss die »working group« (hier
heißt es WG14, also die Arbeitsgruppe für C) stellennehmen, ob
1) die Norm ist verältert, und eingestellt werden soll, oder 2)
sie soll halt leiter laufen, wie sie ist, oder 3) sie soll
weiterentwickelt zu einer neuen Version. Bei 3 läuft immer
danach eine gewisse Zeit, bis die neue Version erscheint; also
hat WG14 in 1993 für 3) entschieden, was C99 ergeben hat. Wenn
ich richtig gehört habe, hat WG14 in 2004 für 2 entschieden --
laut der WG ist C perfekt, wie es ist.

Quote:
Da ich die _s-Funktionen aber durchaus sinnvoll finde und
AFAIR einie der Regulars hier in die Standardisierungsprozesse
eingebunden oder zumindest gut damit vertraut sind, mal
vorsichtig in die Runde gefragt: Wie stehen denn die Chancen
dieses WDTR, in dieser oder abgewandelter Form Bestandteil des
nächsten C- und/oder C++-Standards zu werden?

Soweit ich weiß, wird es keine neue Version von C geben. Bei C++
habe ich nichts davon gehört; denke aber, dass man die Nötigkeit
dafür nicht dringend fühlt, indem man mit std::string die
Probleme sowieso viel eleganter vermeidet.

Quote:
Ich find's ja schon ziemlich absurd, wegen so einem Entwurf
gleich mal die Standardfunktionen für "deprecated" zu
erklären.

Vor dem Hintergund gebe ich Dir natürlich schwer recht!

Die Frage ist, deprecated von wem, und warum? Von ISO in keinem
Fall; die neuen Funktionnen sind noch Bestandteil keiner
ISO-Norm. Von was ich aus die Englisch-sprächige Gruppen
bekommen habe, ist Microsoft ein bisschen leichtsinnig mit dem
Wort »deprecated« umgegangen.

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Thomas Dorner
Guest





PostPosted: Mon May 15, 2006 6:09 pm    Post subject: Re: C-Strings Reply with quote

Hallo Jens!

JL>Da ich die _s-Funktionen aber durchaus sinnvoll finde und AFAIR einie
JL>der Regulars hier in die Standardisierungsprozesse eingebunden oder
JL>zumindest gut damit vertraut sind, mal vorsichtig in die Runde
JL>gefragt: Wie stehen denn die Chancen dieses WDTR, in dieser oder
JL>abgewandelter Form Bestandteil des nächsten C- und/oder C++-Standards
JL>zu werden?

Ich habe zwar mit den Standardisierungsgremien überhaupt nichts zu
tun, hoffe aber mal, daß zumindest diejenigen abgelehnt werden, für
die es in den bisherigen Standards bereits sichere Versionen gibt.
Z.B. stehen die folgenden schon im ISO/IEC 14882:1998 und sollten
hochgradig portabel sein:

strncat
strncpy
strncmp

Viele Grüße, Thomas

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Stefan Reuther
Guest





PostPosted: Tue May 16, 2006 7:21 pm    Post subject: Re: C-Strings Reply with quote

Hallo,

Thomas Dorner wrote:
Quote:
JL>Da ich die _s-Funktionen aber durchaus sinnvoll finde und AFAIR einie
JL>der Regulars hier in die Standardisierungsprozesse eingebunden oder
JL>zumindest gut damit vertraut sind, mal vorsichtig in die Runde
JL>gefragt: Wie stehen denn die Chancen dieses WDTR, in dieser oder
JL>abgewandelter Form Bestandteil des nächsten C- und/oder C++-Standards
JL>zu werden?

Ich habe zwar mit den Standardisierungsgremien überhaupt nichts zu
tun, hoffe aber mal, daß zumindest diejenigen abgelehnt werden, für
die es in den bisherigen Standards bereits sichere Versionen gibt.

Die Funktionen sind nicht per se unsicher. 'strcpy' und 'strcat' auf
sichere Art und Weise zu verwenden ist nicht schwer.

Und wenn wir mal in die Newsgroup-Zeile schauen, stellen wir fest, dass
wir sowieso std::string haben.

Quote:
Z.B. stehen die folgenden schon im ISO/IEC 14882:1998 und sollten
hochgradig portabel sein:

strncat
strncpy
strncmp

strncpy ist ein bisschen was anderes als strcpy_s oder strlcpy. Es füllt
den Puffer komplett mit Nullbytes (sehr effizient bei Dingen wie
'strncpy(array, "x", 1024*1024)'), und garantiert keine Null-
terminierung. Die ganzen blöden Fehler, die man mit strcpy machen kann,
kann man also mit strncpy auch.


Stefan

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.