convert Variable
-
Ok ich bin C++ Anfänger und nutze Dev C++.
ich möcht einen Integer in einen String packen und ihn vorher umwandeln.
für C wäre das glaube ich itoa(...) oda so, aber das ist ja C... .
gut ich hab nachgesehen und gefunden das genutzt:string bridge; int integer; bridge = integer.ToString-> da sagt er das "ToString is undeclared first use this function"
DAS IST ABER KEINE VARIABLE .... hmpfdann hab ich es so versucht:
stringstream brücke; // kann mir mal einer erklären wann und wie man das nutzt ? int test; stringstream = test.ToStringcompiler: stray /252 in programm
ich hab noch irgendeine variante mit convert versucht, weiß das aber nicht
mehr so genau was... das sagt er auch ich soll compile erst
definieren... so ein mist.bitte lacht euch nicht schlapp wenn ich irgendwas total falsch gemacht hab...

ich nutze folgende librarys:#include <cstdlib>
#include <iostream>
#include <string>
#include <windows.h>
#include <fstream>
#include <conio.h>
#include <cstdio>
#include <stdio.h>
#include <sstream>
#include <stdlib.h>
-
#include <iostream> #include <sstream> int main () { std::stringstream s; int i = 2; s << i; std::cout << s.str(); }Das was du teilweise zeigst sieht nach einer anderen Sprache aus.

-
Du solltest unbedingt ein gutes Buch anschauen, da weden solche Dinge erklärt. Und von Dev-C++ rate ich ab, da es veraltet ist und nicht mehr weiterentwickelt wird. Nimm stattdessen Microsoft Visual C++ oder Code::Blocks.
In C++ ist
intein eingebauter Typ und keine Klasse. Folglich gibt es keine Methoden wieToString. So viele Includes brauchst du übrigens nicht,<iostream>und<sstream>sollten reichen. Mitstd::stringstreamkannst du folgendermassen umwandeln:int Integer = 46; std::stringstream Stream; Stream << Integer; // einlesen std::string String = Stream.str(); // als StringMehr Informationen findest du auf www.cplusplus.com und noch mehr in einem guten Buch.
-
drakon und Nexus sind brüder!
-
zu den includes...
naja wenn man davon absieht das das ganze programm 1030 zeilen lang ist und es sehr viele verschiedene funktionen beinhaltet...
Ich bin beeindruckt das nach 30 sekunden gleich eine antwort kommt

PERFEKT ES GEHT !!!
es gibt nur ein problem
ich möchte das jetzt 26 mal (anzahl buchstaben im alphabet) machen und er reiht mir die zahlen aneinander.
bitte um hilfe.
-
brüder schrieb:
drakon und Nexus sind brüder!
Fast. Zumindest sind wir beide Schweizer *drakon auf die Schulter klopf*

(Ist aber echt interessant, wie ähnlich unsere Beiträge waren... ;))Tim06TR schrieb:
ich möchte das jetzt 26 mal (anzahl buchstaben im alphabet) machen und er reiht mir die zahlen aneinander.
bitte um hilfe.Sagen dir Schleifen etwas? Falls nicht, ist es allerhöchste Zeit für ein Buch.

-
natürlich darum geht es doch nicht...
ich zeig mal was passiert (so viel ahnung hab ich dann schon)
bridge = int(test); stringstream bruecke; string filerName = partition + ":\\schlüssel.txt"; filer.open(filerName.c_str()); // oeffnen im Text-Modus if(filer) { int randomsaver2; saver = 1; bruecke << randomsaver[saver]; string texter = bruecke.str() + "\n"; for (;saver<=26;) { saver = saver + 1; bruecke << randomsaver[saver]; texter += bruecke.str() + "\n"; } filer << texter; // fertigen Text speichern filer.close(); cout<<"Schluessel erfolgreich geaendert"; } else { cout << "Datei Fehler!"; } }nur mal dazu
aber in der txt steht jetzt::
8
812
81223....
und so weiter
ich will ide aber einzeln ghaben !
EDIT:
und jetzt kommt mir nicht mit:
das kann man auch so machen: for(;saver<=26;saver++)
-
Tim06TR schrieb:
natürlich darum geht es doch nicht...
Tut mir leid, aber deine Fragestellung hat so geklungen, als ob du Schleifen noch nicht kennen würdest. Dazu kommt, dass du nicht einmal einen eigenen Ansatz präsentiert hast.
Natürlich werden immer mehr Zeichen ausgegeben, du hängst sie schliesslich an den Stream. Um den Stream zu leeren, kannst du die Memberfunktion
str()mit einem leeren String "" als Argument aufrufen.Tim06TR schrieb:
EDIT:
und jetzt kommt mir nicht mit:
das kann man auch so machen: for(;saver<=26;saver++)Was hast du gegen Ratschläge? Aber okay, dann sag ich auch zu deiner unnötigen Codeduplizierung nichts.

-
kein problem ist schon so spät und eigentlich sollte ich grad auf einer lan sein...
Nexus schrieb:
Natürlich werden immer mehr Zeichen ausgegeben, du hängst sie schliesslich an den Stream. Um den Stream zu leeren, kannst du die Memberfunktion
str()mit einem leeren String "" als Argument aufrufen.OK vielen dank es geht wunderbar
JUHU
jetzt kann ich mein schifrirer Programm endlich fertig stellen FREU.
ich hab es so gemacht:stringstream bruecke; string filerName = partition + ":\\schlüssel.txt"; filer.open(filerName.c_str()); // oeffnen im Text-Modus if(filer) { int randomsaver2; saver = 1; bruecke << randomsaver[saver]; string texter = bruecke.str() + "\n"; bruecke.str(""); bruecke.clear(); for (;saver<=26;) { saver = saver + 1; bruecke << randomsaver[saver]; texter += bruecke.str() + "\n"; bruecke.str(""); bruecke.clear(); } filer << texter; // fertigen Text speichern filer.close(); cout<<"Schluessel erfolgreich geaendert"; } else { cout << "Datei Fehler!"; }