Ich möchte nach einer Ziffer ein Prozentzeichen in meiner Zeichenfolge haben. So etwas in der Art: 75%. Wie kann ich das machen lassen? Ich habe es versucht: [NSString stringWithFormat:@"%d\%", someDigit]; Aber es hat bei mir nicht funktioniert.
Gibt es eine Möglichkeit, mehrzeilige, konstante Klartextliterale in C ++ à la Perl zu verwenden? Vielleicht ein Parsing-Trick mit #includeeiner Datei? Ich kann mir keinen vorstellen, aber Junge, das wäre schön. Ich weiß, dass es in C ++ 0x sein wird.
Ich interessiere mich dafür, wo String-Literale zugewiesen / gespeichert werden. Ich habe hier eine faszinierende Antwort gefunden : Das Definieren einer Zeichenfolge inline bettet die Daten tatsächlich in das Programm selbst ein und kann nicht geändert werden (einige Compiler erlauben dies durch einen intelligenten Trick, stören Sie sich nicht). Aber …
Wie lässt sich beispielsweise ein Windows-Verzeichnis am besten darstellen "C:\meshes\as"? Ich habe versucht, ein Skript zu ändern, aber es funktioniert nie, weil ich das Verzeichnis nicht richtig zu finden scheine, nehme ich an, weil es '\'als Escape-Charakter fungiert.
Ich versuche, die Länge eines String-Literals zur Kompilierungszeit zu berechnen. Dazu verwende ich folgenden Code: #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } Alles funktioniert wie erwartet, das Programm druckt 4 …
https://godbolt.org/z/cyBiWY Ich kann zwei 'some'Literale im Assembler-Code sehen, der von MSVC generiert wurde, aber nur eines mit clang und gcc. Dies führt zu völlig unterschiedlichen Ergebnissen der Codeausführung. static const char *A = "some"; static const char *B = "some"; void f() { if (A == B) { throw "Hello, …
Ich versuche herauszufinden, wie man ein Makro schreibt, das sowohl eine Zeichenfolgenliteraldarstellung eines Variablennamens als auch die Variable selbst an eine Funktion übergibt. Zum Beispiel die folgende Funktion gegeben. void do_something(string name, int val) { cout << name << ": " << val << endl; } Ich möchte ein Makro …
Wäre der von der folgenden Funktion zurückgegebene Zeiger nicht unzugänglich? char *foo(int rc) { switch (rc) { case 1: return("one"); case 2: return("two"); default: return("whatever"); } } Die Lebensdauer einer lokalen Variablen in C / C ++ liegt also praktisch nur innerhalb der Funktion, oder? Was bedeutet, dass char* foo(int)der …
Nach einer verwandten Frage möchte ich nach den neuen Zeichen- und Zeichenfolgenliteraltypen in C ++ 11 fragen. Es scheint, dass wir jetzt vier Arten von Zeichen und fünf Arten von String-Literalen haben. Die Zeichentypen: char a = '\x30'; // character, no semantics wchar_t b = L'\xFFEF'; // wide character, no …
In C ++ 11 wurde eine sehr praktische Funktion eingeführt, die als Raw-String-Literale bezeichnet wird. Hierbei handelt es sich um Strings ohne Escape-Zeichen. Und anstatt dies zu schreiben: regex mask("\\t[0-9]+\\.[0-9]+\\t\\\\SUB"); Sie können dies einfach schreiben: regex mask(R"(\t[0-9]+\.[0-9]+\t\\SUB)"); Ziemlich lesbarer. Beachten Sie jedoch zusätzliche Klammern um die Zeichenfolge, die platziert werden …
Dies mag eine einfache Frage sein, aber warum benötigt ein const char * keine Speicheradresse, auf die es verweisen kann? Beispiel: const char* a = "Anthony"; und nicht: const char *a = // Address to const char wie alle anderen Typen?
string s; bool b[] = {s=="", s==s.c_str(), s.c_str()==""}; setzt b[] = {true, true, false}; Warum ist b[2]falsch? Wenn A==Bund A==C, sollte das nicht bedeuten B==C?
Ich verstehe, dass Strings in C nur Zeichenarrays sind. Also habe ich den folgenden Code ausprobiert, aber er liefert seltsame Ergebnisse, wie z. B. Müllausgabe oder Programmabstürze: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Warum funktioniert das nicht? Es kompiliert sauber mit gcc -std=c17 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.