Czy podczas drukowania pojedynczego znaku w programie C należy użyć ciągu "% 1s" w ciągu znaków? Czy mogę użyć czegoś takiego jak "% c"?Wydruk pojedynczego znaku w C
Odpowiedz
tak, %c
będzie wydrukować pojedynczą Znak:
printf("%c", 'h');
również putchar
/putc
będzie działać zbyt. Od „człowiek putchar”:
#include <stdio.h>
int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);
* fputc() writes the character c, cast to an unsigned char, to stream.
* putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once.
* putchar(c); is equivalent to putc(c,stdout).
EDIT:
Należy również pamiętać, że jeśli masz ciąg do produkcji pojedynczego char, trzeba uzyskać znak w łańcuchu, który chcesz wstawić. Na przykład:
const char *h = "hello world";
printf("%c\n", h[4]); /* outputs an 'o' character */
Jak wspomniano w jednym z innych odpowiedzi, można użyć putc (int c, FILE * stream), putchar (int c) lub fputc (int c, FILE * strumień) w tym celu.
Ważne jest, aby pamiętać, że korzystanie z którejkolwiek z powyższych funkcji jest od niektórych znacznie szybsze niż przy użyciu funkcji parsowania formatów, takich jak printf.
Używanie printf przypomina strzelanie jednym pociskiem za pomocą karabinu maszynowego.
'printf()' dla pojedynczego znaku, jest jak kupowanie książki, aby dostać kawałek papieru. – exebook
Należy uważać, różnica pomiędzy 'c'
i "c"
'c'
jest znak odpowiednie do formatowania z% C
"c"
jest char * skierowaną do bloku pamięci o długości 2 (z zerowym terminator).
Technicznie "c" to znak * o długości 4 (lub dowolnej wielkości wskaźnika), który wskazuje na blok pamięci z 2 znakami ("c" i "\ 0"). Ale to po prostu bycie pedantycznym. – paxdiablo
Dodano krótką notatkę, że "c" jest wskaźnikiem. –
char variable = 'x'; // the variable is a char whose value is lowercase x
printf("<%c>", variable); // print it with angle brackets around the character
- 1. Zastąpienie pojedynczego elementu znaku ciąg C
- 2. Jakie jest drugie znaczenie pojedynczego znaku ampersand w języku C#?
- 3. Używanie znaku zamiast łańcucha dla wartości pojedynczego znaku w łańcuchu znaków StringBuffer
- 4. Używanie wbudowanego w PHP ltrim() w celu usunięcia pojedynczego znaku
- 5. Uzyskaj szerokość pojedynczego znaku z ttf-font w php?
- 6. Making wstawienie pojedynczego znaku w vim operacja atomowa
- 7. Czy globalne statyczne identyfikatory mogą zaczynać się od pojedynczego znaku _?
- 8. Najbardziej efektywny sposób konwersji pojedynczego znaku na CharSequence
- 9. Dość wydruk w Clojure
- 10. Zastępowanie znaku C++
- 11. Dodawanie pojedynczego znaku do mojego .NET RegEx powoduje powiesić
- 12. Usuwanie pojedynczego znaku z pola varchar SQL Server 2008
- 13. Jak uzyskać dostęp do pojedynczego znaku z tablicy łańcuchów wc?
- 14. Ile bajtów używa Oracle podczas przechowywania pojedynczego znaku?
- 15. Znajdź dokładne współrzędne pojedynczego znaku wewnątrz obiektu TextView
- 16. Coś jak wydruk END << END; w C++?
- 17. Wydruk tabelaryczny w formacie Python
- 18. Anatomia ładnej krotki wydruk
- 19. Wydruk szablonowy wydaje się błędny
- 20. Dekodowanie znaku specjalnego w języku C#
- 21. C# trzeci indeks znaku w ciągu znaków
- 22. Monitor sieci przetwarzania pojedynczego w Obj-C?
- 23. obowiązuje wydruk z String.Format()
- 24. Python 2.7: Wydruk bezpieczny
- 25. Dlaczego w takim przypadku otrzymuję wydruk System.char []?
- 26. python: pobierz wydruk w instrukcji exec
- 27. Wykonaj wydruk notebooka ipython w czasie rzeczywistym.
- 28. Cichy wydruk osadzonego pliku PDF
- 29. Plik ZIP i wydruk na stdout
- 30. Wstawianie przecinka po każdym znaku C#
Używam MS C 6.0 i to nie działa. Nie daje też błędu. – Aydya
Czy mógłbyś opublikować jakiś niedziałający kod przykładowy? Upewnij się, że "c" jest małe w "% c". –
czy próbowałeś skopiować i wkleić mój przykład. % c powinno działać, biorąc pod uwagę, że parametr jest poprawnego typu (znak, a nie ciąg). –