Thread View: pl.comp.lang.c
19 messages
19 total messages
Started by Maciej MOCHOL
Tue, 03 Feb 1998 17:52
sprintf() pytanie
Author: Maciej MOCHOL
Date: Tue, 03 Feb 1998 17:52
Date: Tue, 03 Feb 1998 17:52
22 lines
1219 bytes
1219 bytes
Witam Mam pytanko. Czy w C++ powinienem uzywac sprintf() ? Ze printf() sie nie uzywa to wiem. Wiem tez ze jest odpowiednik sprintfa w iostream.h - to znaczy jest strumien ktory sobie moge zwiazac z stringiem. Ja jednak lubie sprintf(), ale nie wiem czy powinienem go uzywac, bo - jak slyszalem - biblioteka iostream gryzie sie nieco z tymi z ANSI C, polega to na jakims buforowaniu, czy cos. Ktos moze wie cos wiecej na ten temat ? pozdrawiam c. -------------------------------------. Codematic | code@beta.cku.pwr.wroc.pl | mmochol@elka.pw.edu.pl | http://home.elka.pw.edu.pl/~mmochol | -------------------------------------'
Re: sprintf() pytanie
Author: Grzegorz Aniol
Date: Tue, 03 Feb 1998 18:27
Date: Tue, 03 Feb 1998 18:27
7 lines
1144 bytes
1144 bytes
Nie wiem co sie z czym gryzie, ale czesto sprintf'a uzywam (glownie z przyzwyczajenia) i zawsze jakos dziala. -- --------------------------------------------------------------------- -= A N G E L =- email:gangel@zeus.polsl.gliwice.pl Grzegorz Aniol http://zeus.polsl.gliwice.pl/~gangel ---------------------------------------------------------------------
Re: sprintf() pytanie
Author: Michal Kaczmarczyk
Date: Tue, 03 Feb 1998 20:31
Date: Tue, 03 Feb 1998 20:31
17 lines
1632 bytes
1632 bytes
On Tue, 3 Feb 1998, Maciej MOCHOL wrote: > Mam pytanko. Czy w C++ powinienem uzywac sprintf() ? Ze printf() > sie nie uzywa to wiem. Wiem tez ze jest odpowiednik sprintfa w > iostream.h - to znaczy jest strumien ktory sobie moge zwiazac z > stringiem. Ja jednak lubie sprintf(), ale nie wiem czy powinienem > go uzywac, bo - jak slyszalem - biblioteka iostream gryzie sie nieco > z tymi z ANSI C, polega to na jakims buforowaniu, czy cos. Ktos moze > wie cos wiecej na ten temat ? Gryźć się może jedynie wtedy gdy różnymi metodami zapisuje się ten sam plik (np. stdout). Jeśli chodzi o sprintf i ostrstream to nie powinny się kłócić o ile nie będziemy robić czegoś równocześnie na tym samym stringu/buforze. _______________________________________________________________________________ Michał Kaczmarczyk mailto:mik@iname.com http://student.uci.agh.edu.pl/~kaczmar
Re: sprintf() pytanie
Author: Krzysztof G. Baranowski
Date: Tue, 03 Feb 1998 20:59
Date: Tue, 03 Feb 1998 20:59
10 lines
1225 bytes
1225 bytes
While testing the million monkey theory, Grzegorz Aniol wrote: >Nie wiem co sie z czym gryzie, ale czesto sprintf'a uzywam (glownie z >przyzwyczajenia) i zawsze jakos dziala. Ja bym radzil snprintf() uzywac. Kris -- Krzysztof G. Baranowski - Prezes Klubu Nieszkodliwych Manjaków "Smith & Wesson - The original point and click interface..." http://www.knm.org.pl/ <prezes@manjak.knm.org.pl>
Re: sprintf() pytanie
Author: Michal Malecki
Date: Wed, 04 Feb 1998 20:35
Date: Wed, 04 Feb 1998 20:35
60 lines
2977 bytes
2977 bytes
Maciej MOCHOL <mmochol@elka.pw.edu.pl> wrote:
: Witam
: Mam pytanko. Czy w C++ powinienem uzywac sprintf() ? Ze printf()
: sie nie uzywa to wiem.
Cos ci sie chyba pochrzanilo (i nie jestes tu wyjatkiem).
W C++ mozna, jak najbardziej uzywac printf, jezeli sie chce. Tylko
MOZNA uzywac lepszej - bo nie wymuszajacej oznaczania typow parametrow -
konstrukcji "cout << wartosc". Tak wiec to nie jest tak, ze sie NIE
uzywa.
: Wiem tez ze jest odpowiednik sprintfa w
: iostream.h - to znaczy jest strumien ktory sobie moge zwiazac z
: stringiem.
Polecam strstream.h . Niespecjalnie chwale proby, jakie z tym
przeprowadzilem (ale to bylo dawno temu i to jeszcze na BC 3.1).
Mozesz poeksperymentowac, w BC 3.1 jest wszystko opisane w pomocy
(strstream).
: Ja jednak lubie sprintf(), ale nie wiem czy powinienem
: go uzywac, bo - jak slyszalem - biblioteka iostream gryzie sie nieco
: z tymi z ANSI C, polega to na jakims buforowaniu, czy cos. Ktos moze
: wie cos wiecej na ten temat ?
Ja tam nic nie wiem. A sprintf z powodzeniem mozna uzywac w C++.
Jezeli chodzi w buforowanie, to moze wyglada troche inaczej w C++,
ale powiedz mi szczerze: _gdzie_ ty widzisz jakiekolwiek buforowanie
w takim typie danej ? W plikach - owszem. Konsola - owszem. Ale pamiec ?
Poniewaz mam niespecjalnie przyjemne doswiadczenia z strstream, tak tez
raczej zalecam uzywac sprintf, zwlaszcza, ze jesli chodzi o formatowanie
wyglada to troche prosciej:
char buf[180];
sprintf( buf, "%-17s --- %2d.%02d --- %17s\n", beg, il, tl, end );
Niz - odpowiednio w C++:
strstream sout;
sout << setw(17) << setioflags( ios::right ) << beg;
sout << setw(2) << setioflags( ios::left ) << il;
sout << setfill( '0' ) << tl;
sout << setfill( ' ' ) << setw( 17 ) << end << endl;
Nie jestem w 100% pewny, czy dobrze napisalem te manipulatory. Jezeli nie,
niech mnie ktos poprawi. Niestety, nie mam pod reka referencji, bo
u nas nie ma mana do C++ (tak to jest niestety z supportem tego jezyka
na UNIX'ie!).
Pozdrawiam,
--
.---. . . - Michal Malecki <mmalecki@technologist.com>/The things that
\___ ,-. | , |- ,-. ,- mUd: zly.mud.org.pl 4000. /can't destroy you
\ |-' |< | | | | uRl: www.kis.p.lodz.pl/~sektor /make you
`---' `-' ' ` `' `-' ' pGp: sektor@zly.kis.p.lodz.pl /stronger...
Re: sprintf() pytanie
Author: Pawel Kunstman
Date: Mon, 09 Feb 1998 19:40
Date: Mon, 09 Feb 1998 19:40
41 lines
2417 bytes
2417 bytes
Michal Malecki wrote in message <6bajen$mgd@polonez.man.lodz.pl>... >Maciej MOCHOL <mmochol@elka.pw.edu.pl> wrote: > > >: Witam > >: Mam pytanko. Czy w C++ powinienem uzywac sprintf() ? Ze printf() >: sie nie uzywa to wiem. >Cos ci sie chyba pochrzanilo (i nie jestes tu wyjatkiem). >W C++ mozna, jak najbardziej uzywac printf, jezeli sie chce. Tylko >MOZNA uzywac lepszej - bo nie wymuszajacej oznaczania typow parametrow - >konstrukcji "cout << wartosc". Tak wiec to nie jest tak, ze sie NIE >uzywa. > >: Wiem tez ze jest odpowiednik sprintfa w >: iostream.h - to znaczy jest strumien ktory sobie moge zwiazac z >: stringiem. >Polecam strstream.h . Niespecjalnie chwale proby, jakie z tym >przeprowadzilem (ale to bylo dawno temu i to jeszcze na BC 3.1). >Mozesz poeksperymentowac, w BC 3.1 jest wszystko opisane w pomocy >(strstream). CIACH Calkowicie sie zgadzam - uzywaj sprintf() do woli. Dodam tylko, ze jezeli uzywasz MFC, to jest tam - moim zdaniem swietna - klasa CString. Metoda Format() ma skladnie taka sama jak sprintf(), tyle ze nie musisz sie martwic o rozmiar bufora itp. (chyba ze twoja aplikacja jest real-time, gdzie musisz dbac o wyeliminowanie wszelkich mozliwych nie koniecznych kopiowan itp., ktore moga negatywnie wplynac na szybkosc wykonywania programu). Jesli chodzi o biblioteke strstream, to moim zdaniem to zawracanie glowy - niewygodne, trzeba sie opisac i trudno zrobic formatowanie parametryczne (tzn. ze format trzymasz np. w pliku zewnetrznym lub resource'ach aby uniknac rekompilacji przy zmianie formatu). Ale kazdy ma swoje preferencje. Pawel --------------------------------- Pawel Kunstman e-mail: pawelk@melita.com
Re: sprintf() pytanie
Author: Krzysztof G. Baranowski
Date: Mon, 09 Feb 1998 21:21
Date: Mon, 09 Feb 1998 21:21
13 lines
1375 bytes
1375 bytes
While testing the million monkey theory, Pawel Kunstman wrote: >Calkowicie sie zgadzam - uzywaj sprintf() do woli. Dodam tylko, ze jezeli Opamietajcie sie, zanim bedzie za pozno ! Jezeli juz to powinno sie uzywac snprintf(). sprintf() nie istnieje, nie ma takiej fukncji... co to jest sprintf ? ;-)) Kris -- Krzysztof G. Baranowski - Prezes Klubu Nieszkodliwych Manjaków "Smith & Wesson - The original point and click interface..." http://www.knm.org.pl/ <prezes@manjak.knm.org.pl>
Re: sprintf() pytanie
Author: Jakub Klausa
Date: Tue, 10 Feb 1998 13:18
Date: Tue, 10 Feb 1998 13:18
34 lines
1913 bytes
1913 bytes
Krzysztof G. Baranowski <kgb@manjak.knm.org.pl> wrote:
> While testing the million monkey theory, Pawel Kunstman wrote:
>>Calkowicie sie zgadzam - uzywaj sprintf() do woli. Dodam tylko, ze jezeli
> Opamietajcie sie, zanim bedzie za pozno ! Jezeli juz to powinno sie
> uzywac snprintf().
> sprintf() nie istnieje, nie ma takiej fukncji... co to jest sprintf ?
> ;-))
> Kris
> --
> Krzysztof G. Baranowski - Prezes Klubu Nieszkodliwych Manjaków
> "Smith & Wesson - The original point and click interface..."
> http://www.knm.org.pl/ <prezes@manjak.knm.org.pl>
bofh:jacke:~> man sprintf
PRINTF(3) Linux Programmer's Manual PRINTF(3)
NAME
printf, fprintf, sprintf, snprintf, vprintf, vfprintf,
vsprintf, vsnprintf - formatted output conversion
SYNOPSIS
#include <stdio.h>
[ciach]
Kuba
--
[=-=] Jakub Klausa; e-mail:jacke@tpsa.is.lame.org,jacke@nask.is.lame.org [=-=]
[=-=] Jacke @ IRC; Wroclaw, POLAND; http://serek.netclub.org.pl/~jacke [=-=]
* Forget the e-mail, get a female *
Re: sprintf() pytanie
Author: Krzysztof G. Baranowski
Date: Tue, 10 Feb 1998 14:40
Date: Tue, 10 Feb 1998 14:40
19 lines
1871 bytes
1871 bytes
While testing the million monkey theory, Jakub Klausa wrote: >Krzysztof G. Baranowski <kgb@manjak.knm.org.pl> wrote: >> While testing the million monkey theory, Pawel Kunstman wrote: >>>Calkowicie sie zgadzam - uzywaj sprintf() do woli. Dodam tylko, ze jezeli >> Opamietajcie sie, zanim bedzie za pozno ! Jezeli juz to powinno sie >> uzywac snprintf(). >> sprintf() nie istnieje, nie ma takiej fukncji... co to jest sprintf ? >> ;-)) >bofh:jacke:~> man sprintf >PRINTF(3) Linux Programmer's Manual PRINTF(3) Nie zauwazyles smileya ? Chodzilo mi o to, ze powinno sie raczej uzywac snprintf() zamiast sprintf(), ktory nie sprawdza dlugosci bufora. Efekty tego chyba wszyscy dobrze znamy. Kris -- Krzysztof G. Baranowski - Prezes Klubu Nieszkodliwych Manjaków "Smith & Wesson - The original point and click interface..." http://www.knm.org.pl/ <prezes@manjak.knm.org.pl>
Re: sprintf() pytanie
Author: Michal Malecki
Date: Tue, 10 Feb 1998 18:45
Date: Tue, 10 Feb 1998 18:45
25 lines
1855 bytes
1855 bytes
Krzysztof G. Baranowski <kgb@manjak.knm.org.pl> wrote:
: While testing the million monkey theory, Jakub Klausa wrote:
:>Krzysztof G. Baranowski <kgb@manjak.knm.org.pl> wrote:
:>> Opamietajcie sie, zanim bedzie za pozno ! Jezeli juz to powinno sie
:>> uzywac snprintf().
:>> sprintf() nie istnieje, nie ma takiej fukncji... co to jest sprintf ?
:>> ;-))
:>bofh:jacke:~> man sprintf
:>PRINTF(3) Linux Programmer's Manual PRINTF(3)
: Nie zauwazyles smileya ? Chodzilo mi o to, ze powinno sie raczej
: uzywac snprintf() zamiast sprintf(), ktory nie sprawdza dlugosci
: bufora. Efekty tego chyba wszyscy dobrze znamy.
24818.zly:~/C> man snprintf
No manual entry for snprintf.
I co ty na to ?
Funkcja bylaby dobra, gdyby byla.
--
.---. . . - Michal Malecki <mmalecki@technologist.com>/The things that
\___ ,-. | , |- ,-. ,- mUd: zly.mud.org.pl 4000. /can't destroy you
\ |-' |< | | | | uRl: www.kis.p.lodz.pl/~sektor /make you
`---' `-' ' ` `' `-' ' pGp: sektor@zly.kis.p.lodz.pl /stronger...
Re: sprintf() pytanie
Author: Qrczak
Date: Tue, 10 Feb 1998 19:08
Date: Tue, 10 Feb 1998 19:08
38 lines
1828 bytes
1828 bytes
On 10 Feb 1998, Michal Malecki wrote:
> 24818.zly:~/C> man snprintf
> No manual entry for snprintf.
>
> I co ty na to ?
> Funkcja bylaby dobra, gdyby byla.
[qrczak ~]$ man -c snprintf
Formatting page, please wait...
SNPRINTF(3) Linux Programmer's Manual SNPRINTF(3)
NAME
snprintf, vsnprintf - formatted output conversion
SYNOPSIS
#define _GNU_SOURCE
#include <stdio.h>
int snprintf ( char *str, size_t n,
const char *format, ... );
#include <stdarg.h>
int vsnprintf ( char *str, size_t n,
const char *format, va_list ap );
DESCRIPTION
[...]
(nie wiem, czy to jest w jakimś standardzie)
--
QRCZAK
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrczak.home.ml.org/
Re: sprintf() pytanie
Author: sektor
Date: Wed, 11 Feb 1998 12:31
Date: Wed, 11 Feb 1998 12:31
44 lines
2263 bytes
2263 bytes
W poprzednim odcinku Qrczak <qrczak@knm.org.pl> naskrobal:
: On 10 Feb 1998, Michal Malecki wrote:
:> 24818.zly:~/C> man snprintf
:> No manual entry for snprintf.
:>
:> I co ty na to ?
:> Funkcja bylaby dobra, gdyby byla.
: [qrczak ~]$ man -c snprintf
: Formatting page, please wait...
: SNPRINTF(3) Linux Programmer's Manual SNPRINTF(3)
: NAME
: snprintf, vsnprintf - formatted output conversion
: SYNOPSIS
: #define _GNU_SOURCE
: #include <stdio.h>
: int snprintf ( char *str, size_t n,
: const char *format, ... );
: #include <stdarg.h>
: int vsnprintf ( char *str, size_t n,
: const char *format, va_list ap );
: DESCRIPTION
I wlasnie z tym jest problem. Poza tym...
19811.zly:~/C> man -c snprintf
usage: man [-] [-adFlrt] [-M path] [-T macro-package ] [ -s section ] name ...
man [-M path] -k keyword ...
man [-M path] -f file ...
Czy to jest dyskryminacja Solka ?
--
.---. . . - Michal Malecki <mmalecki@technologist.com>/The things that
\___ ,-. | , |- ,-. ,- mUd: zly.mud.org.pl 4000. /can't destroy you
\ |-' |< | | | | uRl: www.kis.p.lodz.pl/~sektor /make you
`---' `-' ' ` `' `-' ' pGp: sektor@zly.kis.p.lodz.pl /stronger...
Re: sprintf() pytanie
Author: Qrczak
Date: Wed, 11 Feb 1998 13:44
Date: Wed, 11 Feb 1998 13:44
25 lines
1890 bytes
1890 bytes
On 11 Feb 1998 sektor@mud.org.pl wrote:
> : [qrczak ~]$ man -c snprintf
> : Formatting page, please wait...
[...]
> 19811.zly:~/C> man -c snprintf
> usage: man [-] [-adFlrt] [-M path] [-T macro-package ] [ -s section ] name ...
> man [-M path] -k keyword ...
> man [-M path] -f file ...
Aaa, to -c było nieważne, zapomniałem wykasować - oznacza:
-c Reformat the source man page, even when an up-to-
date cat page exists. This can be meaningful if
the cat page was formatted for a screen with a dif-
ferent number of columns.
i użyłem go tylko po to, żeby móc zrzucić z ekranu tekst "Formatting
page, please wait..." :-)
--
QRCZAK
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrczak.home.ml.org/
Re: sprintf() pytanie
Author: sektor
Date: Wed, 11 Feb 1998 15:21
Date: Wed, 11 Feb 1998 15:21
16 lines
1771 bytes
1771 bytes
W poprzednim odcinku Qrczak <qrczak@knm.org.pl> naskrobal:
: -c Reformat the source man page, even when an up-to-
: date cat page exists. This can be meaningful if
: the cat page was formatted for a screen with a dif-
: ferent number of columns.
Dziekuje, nie dostarczy mi to jednak snprintf.
Czy to jest funkcja linuxowa, czy istnieje w nowszej wersji gcc ?
A tak dokladnie, to gdzie istnieje jej zapowiedz ?
--
.---. . . - Michal Malecki <mmalecki@technologist.com>/The things that
\___ ,-. | , |- ,-. ,- mUd: zly.mud.org.pl 4000. /can't destroy you
\ |-' |< | | | | uRl: www.kis.p.lodz.pl/~sektor /make you
`---' `-' ' ` `' `-' ' pGp: sektor@zly.kis.p.lodz.pl /stronger...
Re: sprintf() pytanie
Author: Maciej MOCHOL
Date: Wed, 11 Feb 1998 15:46
Date: Wed, 11 Feb 1998 15:46
13 lines
1548 bytes
1548 bytes
On 11 Feb 1998 sektor@mud.org.pl wrote: > Dziekuje, nie dostarczy mi to jednak snprintf. > Czy to jest funkcja linuxowa, czy istnieje w nowszej wersji gcc ? > A tak dokladnie, to gdzie istnieje jej zapowiedz ? U mnie w manie stoi ze to standard i/o function (Solaris/Sparc). -- Codematic code@beta.cku.pwr.wroc.pl.strasznie.mi.sie.podobaja mmochol@elka.pw.edu.pl.te.smieci.na.koncu.adresu.email http://home.elka.pw.edu.pl.i.www.rowniez/~mmochol
Re: sprintf() pytanie
Author: Qrczak
Date: Wed, 11 Feb 1998 16:31
Date: Wed, 11 Feb 1998 16:31
23 lines
1659 bytes
1659 bytes
On 11 Feb 1998 sektor@mud.org.pl wrote:
> Dziekuje, nie dostarczy mi to jednak snprintf.
> Czy to jest funkcja linuxowa, czy istnieje w nowszej wersji gcc ?
> A tak dokladnie, to gdzie istnieje jej zapowiedz ?
NAME
snprintf, vsnprintf - formatted output conversion
SYNOPSIS
#define _GNU_SOURCE
#include <stdio.h>
[...]
CONFORMING TO
These are GNU extensions.
--
QRCZAK
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrczak.home.ml.org/
Re: sprintf() pytanie
Author: sektor
Date: Thu, 12 Feb 1998 11:33
Date: Thu, 12 Feb 1998 11:33
16 lines
1572 bytes
1572 bytes
W poprzednim odcinku Qrczak <qrczak@knm.org.pl> naskrobal:
: CONFORMING TO
: These are GNU extensions.
Wiec w koncu standard, czy GNU extensions ? U mnie (solek, gcc 2.7.2) tego
nie ma stdio.h .
Czy moze jest to w gcc 2.8.0 ?
--
.---. . . - Michal Malecki <mmalecki@technologist.com>/The things that
\___ ,-. | , |- ,-. ,- mUd: zly.mud.org.pl 4000. /can't destroy you
\ |-' |< | | | | uRl: www.kis.p.lodz.pl/~sektor /make you
`---' `-' ' ` `' `-' ' pGp: sektor@zly.kis.p.lodz.pl /stronger...
Re: sprintf() pytanie
Author: Maciej MOCHOL
Date: Thu, 12 Feb 1998 12:43
Date: Thu, 12 Feb 1998 12:43
21 lines
1755 bytes
1755 bytes
On 12 Feb 1998 sektor@mud.org.pl wrote: > W poprzednim odcinku Qrczak <qrczak@knm.org.pl> naskrobal: > > : CONFORMING TO > : These are GNU extensions. > > Wiec w koncu standard, czy GNU extensions ? U mnie (solek, gcc 2.7.2) tego > nie ma stdio.h . > > Czy moze jest to w gcc 2.8.0 ? W manie do Solarisa slowem nie ma o GNU Extensions a funkcja jest. Podejrzewam ze to taki sam standard jak IPC, tyle ze sie jeszcze producenci Unixow nie dogadali. -- Codematic code@beta.cku.pwr.wroc.pl.strasznie.mi.sie.podobaja mmochol@elka.pw.edu.pl.te.smieci.na.koncu.adresu.email http://home.elka.pw.edu.pl.i.www.rowniez/~mmochol
Re: sprintf() pytanie
Author: Qrczak
Date: Thu, 12 Feb 1998 12:43
Date: Thu, 12 Feb 1998 12:43
19 lines
1697 bytes
1697 bytes
On 12 Feb 1998 sektor@mud.org.pl wrote:
> : CONFORMING TO
> : These are GNU extensions.
>
> Wiec w koncu standard, czy GNU extensions ? U mnie (solek, gcc 2.7.2) tego
> nie ma stdio.h .
>
> Czy moze jest to w gcc 2.8.0 ?
Wiem tylko tyle, ile zacytowałem (piszą, że GNU extensions). To jest
w RedHacie 4.2 z gcc 2.7.2. Opis pochodzi z pakietu man-pages, a nie
z któregoś gcc. Nie testowałem w praktyce.
--
QRCZAK
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrczak.home.ml.org/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads