|
| Hejsa. Har problemer med at læse en txt fi~ Fra : Flare |
Dato : 05-06-02 20:15 |
|
Hejsa jeg prøver at læse en text fil med: getline(File,stringvar,'\n')
Og det virker sådan set også perfekt, men når jeg prøver at udskrive tegn
som '\n' og ø(\x9B) går det (sådan set) logisk galt. Den udksriver bare \n
og ikke New line, eller ø. Hvordan "fortæller" jeg at et tegn i en text skal
betragtes "as is it is"? Er det et escape tegn man kan sætte foran eller
sådan noget?
Ps: Jeg udskriver stringvar, som er af typen string fra <cstring> med cout
fra <iostream>
Hilsen
Anders
| |
Morten Brix Pedersen (05-06-2002)
| Kommentar Fra : Morten Brix Pedersen |
Dato : 05-06-02 22:26 |
|
Flare wrote:
> Og det virker sådan set også perfekt, men når jeg prøver at udskrive tegn
> som '\n' og ø(\x9B) går det (sådan set) logisk galt. Den udksriver bare \n
> og ikke New line, eller ø. Hvordan "fortæller" jeg at et tegn i en text skal
> betragtes "as is it is"? Er det et escape tegn man kan sætte foran eller
> sådan noget?
Det ville være nemmere hvis du viste den kode du havde problemer med,
jeg har svært ved at forstå hvad du prøver på at forklare.
Prøv denne kode:
#include <iostream>
int main()
{
std::cout << "en newline (\\n): " << "\n";
std::cout << "en newline med single quotes (\\n): " << '\n';
}
> Ps: Jeg udskriver stringvar, som er af typen string fra <cstring> med cout
> fra <iostream>
string typen ligger i <string>, <cstring> indeholder funktioner der kan
manipulere rå character arrays.
- Morten.
| |
Flare (05-06-2002)
| Kommentar Fra : Flare |
Dato : 05-06-02 23:00 |
|
<cstring> indeholder funktioner der kan manipulere rå character arrays.
Ok hvilke? ved du det?
Lidt kode:
ifstream Fil("lang.dat");
while( getline(Fil,word,'\n') )
{
if (word[0] == beskedNr[0] && word[1] == beskedNr[1] && word[2] ==
beskedNr[2])
{
strengFundet = true;
break;
}
cout << word
}
--- ALT dette virke fint meeeeen ø blvier udskrevet forkert og \n aner jeg
ikke hvordan den skal udskrives. For jeg vil jo ikke bare have \n udskrevet
som tekst.---
Uddrag af lang.dat
-------------------------
108 I københavn
109 Her skal være linie skift \n og tekste forsætter på næste linie
110 Indtast brugernavn:
--------------------------
\n bliver selvfølgelig bare skrevet ud..Men det æsnekr jeg ikke. Og ø og æ
bliver ikke udskrevet rigtigt.
Håber jeg kan komme lidt nærmere svaret.
Anders
| |
J. Martin Petersen (06-06-2002)
| Kommentar Fra : J. Martin Petersen |
Dato : 06-06-02 08:26 |
|
"Flare" <dct_flare@hotmail.com> writes:
> Uddrag af lang.dat
> -------------------------
> 108 I københavn
> 109 Her skal være linie skift \n og tekste forsætter på næste linie
> 110 Indtast brugernavn:
> --------------------------
>
> \n bliver selvfølgelig bare skrevet ud..Men det æsnekr jeg ikke. Og ø og æ
> bliver ikke udskrevet rigtigt.
Hvis lang.dat indeholder de *to* tegn '\' og 'n' er det klart, de
bliver udskrevet som "\n". _Tegnet_ '\n' er ét tegn, der repræsenteres
som '\n', da det er et "grafisk" tegn. Et linjeskift kan man jo som
sådan ikke se - men man kan se virkningen af det.
En mulig løsning var at tekststrengen igennem, og så erstatte "\n" med
'\n', inden du skriver ud.
--
J. Martin Petersen "Atter springer gnuerne ud i vandet..."
| |
|
|