Chcę mieć znak procentu w moim ciągu po cyfrze. Coś w tym stylu: 75%. Jak mogę to zrobić? Próbowałem: [NSString stringWithFormat:@"%d\%", someDigit]; Ale to nie działało dla mnie.
Czy jest jakiś sposób na posiadanie wieloliniowych tekstów stałych, literałów stałych w C ++, à la Perl? Może jakiś parsowanie sztuczki z #includeingowaniem pliku? Nie mogę myśleć o jednym, ale chłopaku, byłoby miło. Wiem, że będzie w C ++ 0x.
Interesuje mnie, gdzie są przydzielane / przechowywane literały ciągów. Znalazłem tutaj jedną intrygującą odpowiedź , mówiącą: Zdefiniowanie ciągu w linii faktycznie osadza dane w samym programie i nie można go zmienić (niektóre kompilatory pozwalają na to sprytną sztuczką, nie przejmuj się). Ale miało to coś wspólnego z C ++, nie …
Jaki jest najlepszy sposób reprezentowania na przykład katalogu Windows "C:\meshes\as"? Próbowałem zmodyfikować skrypt, ale nigdy nie działa, ponieważ nie mogę uzyskać prawidłowego katalogu, zakładam, że '\'działając jako znak ucieczki?
Próbuję obliczyć długość literału ciągu w czasie kompilacji. Aby to zrobić, używam następującego kodu: #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } Wszystko działa zgodnie z oczekiwaniami, program wypisuje 4 i …
https://godbolt.org/z/cyBiWY Widzę dwa 'some'literały w kodzie asemblera wygenerowanym przez MSVC, ale tylko jeden z clang i gcc. Prowadzi to do zupełnie innych wyników wykonania kodu. static const char *A = "some"; static const char *B = "some"; void f() { if (A == B) { throw "Hello, string merging!"; } …
Próbuję dowiedzieć się, jak napisać makro, które przekaże zarówno ciąg znaków reprezentacji nazwy zmiennej, jak i samą zmienną do funkcji. Na przykład biorąc pod uwagę następującą funkcję. void do_something(string name, int val) { cout << name << ": " << val << endl; } Chciałbym napisać makro, więc mogę to …
Po pokrewnym pytaniu chciałbym zapytać o nowe typy literałów znakowych i łańcuchowych w C ++ 11. Wygląda na to, że mamy teraz cztery rodzaje znaków i pięć rodzajów literałów tekstowych. Typy postaci: char a = '\x30'; // character, no semantics wchar_t b = L'\xFFEF'; // wide character, no semantics char16_t …
Czy wskaźnik zwracany przez następującą funkcję nie byłby niedostępny? char *foo(int rc) { switch (rc) { case 1: return("one"); case 2: return("two"); default: return("whatever"); } } Więc czas życia zmiennej lokalnej w C / C ++ jest praktycznie tylko w funkcji, prawda? Co oznacza, że po char* foo(int)zakończeniu zwracany wskaźnik …
To może być proste pytanie, ale dlaczego const char * nie potrzebuje adresu pamięci, aby wskazywać? Przykład: const char* a = "Anthony"; i nie: const char *a = // Address to const char jak inne typy?
Rozumiem, że ciągi w C są tylko tablicami znaków. Wypróbowałem więc następujący kod, ale daje on dziwne wyniki, takie jak wyrzucanie elementów bezużytecznych lub awarie programu: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Dlaczego to nie działa? Czyści się z gcc -std=c17 -pedantic-errors -Wall …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.