Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

51

10.01.2009, 16:43

Hallo

"Geht nicht" ist keine Fehlermeldung!!!!

Was hast du erwartet? Was ist passiert? Was ist die Differenz? Zeig uns Code!!!

Versuch doch wenigstens dich so auszudrücken, dass man dir helfen kann.

chrische

Anonymous

unregistriert

52

10.01.2009, 16:45

Keine Fehlermeldung.
Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <string>
#include <fstream>
#include <conio.h>

using namespace std;

int main ()
{
    // Variablen

    //

    string s;

    ifstream infile ("Text.txt");
    
    // while-Schleife

    while (!infile.eof ())
    {
        infile >> s;
        cout << s;
    } // while-Schleife


    _getch ();

    return 0;
}


Raus kommt:

Quellcode

1
Zeile1\nZeile2

53

10.01.2009, 16:52

Hallo

Sag mal liest du überhaupt, was dir geantwortet wird? So kann man es auch lassen.

chrische

54

10.01.2009, 16:58

Zitat von »"Genion"«

Wenn in der Textdatei sowas steht wie "Test1\nTest2" wann wirst du selbst danach suchen müssen und es ersetzen. Sonst erkennt er \n nicht als Escapesequenz sondern als stinknormalen Text. Dabei musst du aber beachten, dass "\n" als Text 2 chars belegt, '\n' als Zeilenumbruch allerdings nur einen.

Habs nochmal hervorgehoben.

Anonymous

unregistriert

55

10.01.2009, 17:01

Zitat von »"Genion"«

Zitat von »"Genion"«

Wenn in der Textdatei sowas steht wie "Test1\nTest2" wann wirst du selbst danach suchen müssen und es ersetzen. Sonst erkennt er \n nicht als Escapesequenz sondern als stinknormalen Text. Dabei musst du aber beachten, dass "\n" als Text 2 chars belegt, '\n' als Zeilenumbruch allerdings nur einen.

Habs nochmal hervorgehoben.


Ja aber wie suchen, etwa Headset auf die Ohren setzen und "Zeilenumbruch in der Datei Text.txt" reinschreien?

56

10.01.2009, 17:04

Hallo

Google, Google, Google, Google, Google.

http://www.google.de/search?hl=de&client=firefox-a&rls=org.mozilla%3Ade%3Aofficial&hs=fZg&q=find+string+in+std%3A%3Astring&btnG=Suche&meta=

chrische

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

57

10.01.2009, 17:05

Zitat von »"chrische5"«


Sag mal liest du überhaupt, was dir geantwortet wird? So kann man es auch lassen.


Und machst du auch mal einen sinnvollen Beitrag? Wenn du dir seinen Code anschaust, dann wirst du feststellen, dass es im wesentlichen das ist, was PCShadow geschrieben hat.
Es kamen in 3 Posts drei Lösungsvorschläge. Verständlich, dass er einen davon wählt und diesen testet, oder nicht?

Luca
Ne du musst eben im gegeben string suchen, ob du etwas drin hast, wie "\n" und an diesem Punkt musst du dann einen Zeilenumbruch durchführen

58

10.01.2009, 17:08

Hallo

Zitat von »"Fred"«


Und machst du auch mal einen sinnvollen Beitrag?


Ja. Fast jeder. Er kennt weder google, noch weiß er wie er Fragen zu stellen hat. Auf diesen Umstand weise ich ihn hin. Anfangs ruhig, dann immer etwas genervter. Du kannst ja mal wieder etwas Code hinschmeissen, den er eh nicht versteht. Ich gehe einen anderen Weg, den des Selbstlernens. Tut am Anfang weh und nervt, aber am Ende kommt man meist weiter.

chrische

Anonymous

unregistriert

59

10.01.2009, 17:09

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <string>
#include <fstream>
#include <conio.h>
 
using namespace std;
 
int main ()
{
    string s;
 
    ifstream infile;
    infile.open("Test.txt",ios::in);
 
    while (!infile.eof ())
    {
       getline(infile,s);
    }
 
    for(unsigned int i=0; i < s.length(); i++)
    {
       if(s[i]=="\n")
       {
           std::cout<<"\n";
       }
    }
    getch ();
}


Ungetestet, müsste so gehen.

60

10.01.2009, 17:16

@Luca
Du schiebst schonmal die Textdatei in einen String. Das ist schonmal der Ansatzpunkt den man ausnutzen kann.

Folgende Methodenkombination leg ich dir ans Herz:
-find, substr, append
-find, replace, erase
-find, insert, erase

Such dir eine der 3 Möglichkeiten aus. Funktionieren kann es mit allen. Jetzt kannst du mal dein Hirnschmalz ein wenig in Wallung bringen und schauen wie du eine Zeichenkombination findest, ersetzt und die überflüssige stelle kürzt

P.S. http://www.cppreference.com/wiki/string/start Da hast du die Methoden inklusive einiger Codebeispiele.

Werbeanzeige