29. december 2006 - 22:46Der er
7 kommentarer og 1 løsning
Filstreng opdeling for hver enkelt karakter
En programmør bør selv programmere det, han har brug for. Men nu gider jeg ikke rigtig, specielt da jeg ikke ved hvordan jeg skal gøre det.
Jeg har en tekstfil, der bliver indlæst, og der læses så i en while hvert enkelt linje. Men nu skal jeg have hvert enkelt bogstav/karakter sat ind i et array - som nyt element vel at mærke. Men der må kun være to typer karakterer, mellemrum eller et # (nummertegn). Så hvis det er mellemrum skal elementets værdi være 0 (datatype: byte) mens det skal være 128 (igen datatype: byte) hvis det er et #.
Hvordan gør man det? Uddybning/detaljering af de enkelte funktioner, etc. brugt i koden er velkomne.
Ang "En programmør bør selv programmere det, han har brug for.": Sludder og vrøvl! :-) Brug det der er der.. der er nemlig ingen grund til at opfinde hjulet eller den dybe tallerken igen..
Et eksempel på "læs hvert eneste tegn":
string tekst = "dette er en tekst"; string tegn = ""; for(int i = 0, len = tekst.length; i < len; i++) { tegn = tekst.substring(i, 1); if (tegn == " ") { // tegnet er mellemrum } }
Jeg forstod ikke helt det der med "mellemrum eller et # (nummertegn)", så jeg håber at du enten kan se hvordan du gør det nu, eller forklarer det yderliger..
Hvis du er sikker på at tekststrengen kun indeholder de to chars kan du lave en lidt mere simpel...
byte[] bytes = new byte[tekst.Lenght]; int i = 0; foreach( char c in tekst ) { bytes[i++] = (c == '#') ? 128 : 0; }
ellers må man jo igen...
byte[] bytes = new byte[tekst.Lenght]; int i = 0; foreach( char c in tekst ) { if ( c == '#' ) bytes[i] = 128; else if ( c == ' ' ) bytes[i] = 0; else throw new Exception( "Teksten indeholder andre tegn end mellemrum og '#'" ); }
byte[] bytes = new byte[tekst.Lenght]; int i = 0; foreach( char c in tekst ) { if ( c == '#' ) bytes[i] = 128; else if ( c == ' ' ) bytes[i] = 0; else throw new Exception( "Teksten indeholder andre tegn end mellemrum og '#'" ); i++; }
Tak, men jeg har allerede tilpasset koden, som den skal være. Godt nytår...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.