695
edycji
m (→Rozszerzenia GNU: kilka razy) |
Nie podano opisu zmian |
||
====size====
Konwersja
"%d", 100
spowoduje zapisanie
[ 1 | 0 | 0 | \0 ]
4 znaków do tablicy
* 3 znaków liczby całkowitej
* znaku końca łańcucha (
Jeśli
* rozmiar tablicy str jest <4 ale argument size jest >=4 to powstaje niezdefiniowanie zachowanie (ang. undefined behavior)
* rozmiar tablicy str >=4 but ale argument size jest <4, to nie powstaje niezdefiniowanie zachowanie ale łańcuch będzie obcięty (
===Format===
===Przykład użycia===
▲====pierwszy====
<source lang="c">
#include <stdio.h>
i = 4
f = 3.1
<!-------
--------- co ten kod ma ukazywać?
------->
====Konwersja ====
Konwersja 1 liczby typu double na łańcuch
<source lang=c>
/*
</source>
▲Konwersja 2 liczb typu double na łańcuch :
/*
http://stackoverflow.com/questions/7228438/convert-double-float-to-string
http://linux.die.net/man/3/snprintf
where the number of digits after the decimal-point character is equal to the precision specification.
If the precision is missing, it is taken as 6;
The precision
#include <stdio.h>
{
/* And remember to allow space for :
</source>
Wynik działania
<pre>
d = -1.123457,-2.123457
good size of string is = 19 and now true size is = 20
</pre>
====Liczby całkowite====
<source lang
/*
gcc l.c -lm -Wall
./a.out
http://stackoverflow.com/questions/29592898/do-long-long-and-long-have-same-range-in-c-in-64-bit-machine
#include <limits.h> // INT_MAX, http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html
{
double lMax;▼
▲int main(){
▲double lMax;
lMax = log2(INT_MAX);
printf("ULLONG_MAX \t= %25llu ; lMax = log2(ULLONG_MAX) \t= %.0f \n",ULLONG_MAX, lMax);
return 0;▼
▲return 0;
}
</source>
Wynik
<pre>
ULONG_MAX = 18446744073709551615 ; lMax = log2(ULONG_MAX) = 64
LLONG_MAX = 9223372036854775807 ; lMax = log2(LLONG_MAX) = 63
ULLONG_MAX = 18446744073709551615 ; lMax = log2(ULLONG_MAX) = 64
</pre>
</source>
Kiedy chcemy kilka zapisać do tej samej zmiennej to używamy jej jednocześnie jako wyjścia i wejścia
asprintf(&tmp, "%s %f,%f ", tmp, zx , -zy );
:[[C/Podstawowe procedury wejścia i wyjścia|Podstawowe procedury wejścia i wyjścia]]
:[[C/Napisy#Znaki_specjalne|Znaki specjalne]]
===Źródła===
<references/>
|