Als «c++» getaggte Fragen

85
Abrufen eines Verzeichnisnamens aus einem Dateinamen

Ich habe einen Dateinamen (C: \ Ordner \ foo.txt) und muss den Ordnernamen (C: \ Ordner) in nicht verwaltetem C ++ abrufen. In C # würde ich so etwas machen: string folder = new FileInfo("C:\folder\foo.txt").DirectoryName; Gibt es eine Funktion, die in nicht verwaltetem C ++ verwendet werden...

85
long long int vs. long int vs. int64_t in C ++

Ich habe bei der Verwendung von C ++ - Typmerkmalen ein merkwürdiges Verhalten festgestellt und mein Problem auf dieses skurrile kleine Problem eingegrenzt, für das ich eine Menge Erklärungen geben werde, da ich nichts für Fehlinterpretationen offen lassen möchte. Angenommen, Sie haben ein...

85
Std :: tuple mit hübschem Druck

Dies ist eine Fortsetzung meiner vorherigen Frage zu hübsch gedruckten STL-Containern , für die wir eine sehr elegante und vollständig allgemeine Lösung entwickelt haben. In diesem nächsten Schritt möchte ich das hübsche Drucken std::tuple<Args...>mit variadischen Vorlagen einschließen...

85
Wie schreibe ich std :: string in eine Datei?

Ich möchte eine std::stringVariable, die ich vom Benutzer akzeptiere, in eine Datei schreiben . Ich habe versucht, die write()Methode zu verwenden, und sie schreibt in die Datei. Aber wenn ich die Datei öffne, sehe ich Kästchen anstelle der Zeichenfolge. Die Zeichenfolge ist nur ein einzelnes Wort...

85
A () = A () - warum wird kompiliert?

class A {}; int main() { A() = A(); return 0; } Warum wird dieser Code kompiliert? Sollte es nicht einen Fehler geben, dass auf der linken Seite des Zuweisungsoperators ein Wert platziert werden sollte? Ist A () lWert? g ++ 4.7

85
Die Kompilierung schlägt fehl mit "Verschiebung R_X86_64_32 gegen" .rodata.str1.8 "kann nicht verwendet werden, wenn ein freigegebenes Objekt erstellt wird"

Ich versuche, diesen Quellcode aus dem Makefile in einem VPS zu kompilieren, aber es funktioniert nicht. Das VPS ist ein 64-Cent-Betriebssystem Hier ist der vollständige Fehler # make gcc -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/amx/*.c g++ -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/*.cpp g++ -c -O3 -w...