char to const char* bringt mich um den Verstand
-
strncat(outputText, &inputText[i], 1);
-
zusammenhanglose Frage -> zusammenhanglose Antwort
[code]
#include <iostream>
#include <string>
#include <conio.h>using namespace std;
string rueckwaerts_ausgabe (string);void main()
{
string eingabe;
cout<<"Bitte geben Sie einen Text ein.\n";
cin>>eingabe;
eingabe=rueckwaerts_ausgabe(eingabe);
cout<<eingabe;
getch();}
string rueckwaerts_ausgabe (string text)
{
string erg="";
string::size_type res;
res = text.size();
for (int i = res; i>0; i--)
{
erg = erg + text[i-1];
}return erg;
}[code]
ich kriegs ja nicht mal gebacken den code in nem codefenster auszugeben . lol
Viel spass noch
-
char to const char*
Sollte nicht gehen.
char* to const char*
Sollte implizit gehen.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du programmierst ja ganz offensichtlich kein ANSI C, sondern C++! Und deine Verwendung von strncpy (was man ohnehin nicht benutzen sollte), ist auch nicht sehr sinnvoll.
#include <iostream> #include <cstring> int main() { std::cout<<"Bitte irgendetwas eingeben: "; char inputText[256]; std::cin.getline(inputText, 256); std::cout<<"\nHier das Eingegebene, nur umgedreht: "; char outputText[256]; std::size_t const len = strlen(inputText); for(std::size_t i = 0; i < len; ++i) { outputText[i] = inputText[len - i -1]; } std::cout<<outputText<<std::endl; return 0; }alternativ natürlich so
#include <algorithm> #include <iterator> #include <iostream> #include <string> int main() { std::string in; std::getline(std::cin, in); std::reverse_copy(in.begin(), in.end(), std::ostream_iterator<char>(std::cout)); std::cout << std::endl; }
-
mayokleckz schrieb:
ich kriegs ja nicht mal gebacken den code in nem codefenster auszugeben . lol
Indem du das abschließende Tag mit einem / schreibst:
[code]bla[/code] ->bla@Mister: schau dir mal std::string an, dann wirds mit dem Einlesen einiges leichter, und mit dem rückwärts ausgeben auch.
-
Hallo,
vielen Dank für die Antworten.Ich denke, es war wirklich ein wenig hohl, aber ich bin noch ein wenig draußen, da ich lange nicht mehr in C++ programmiert habe. In C# ist das alles ein wenig einfacher...
-
Ich habe es jetzt so gelöst:
#include <iostream> #include <string> int main() { std::cout<<"Bitte irgendetwas eingeben: "; std::string inputText(""); getline(std::cin, inputText); std::cout<<"\nHier das Eingegebene, nur umgedreht: "; std::string outputText(""); for(int i = inputText.size() - 1; i >= 0; i--) { outputText.append(&inputText[i], 1); } std::cout<<outputText<<std::endl; return 0; }Danke noch einmal

-
Mister schrieb:
...In C# ist das alles ein wenig einfacher...
Na ... viel einfacher als
rüdiger schrieb:
...
std::string in; std::getline(std::cin, in); std::reverse_copy(in.begin(), in.end(), std::ostream_iterator<char>(std::cout)); std::cout << std::endl; }wird's wohl auch mit C# nicht gehen, oder?

Gruß,
Simon2.
-
Nein, das stimmt schon

Aber hatte mich glaube ich falsch ausgedrückt. Ich meinte damit dieses ganze Pointer- und Referenzengefummel... Das bringt mich manchmal um den Verstand

Aber mit der STL wird es, wie man sieht, um einiges leichter

-
Mister schrieb:
...Ich meinte damit dieses ganze Pointer- und Referenzengefummel... Das bringt mich manchmal um den Verstand :P...
deswegen macht man das ja möglichst auch nur da, wo man es wirklich braucht.

Gruß,
Simon2.