Avatar billede acid-head Nybegynder
14. maj 2002 - 19:59 Der er 2 kommentarer og
1 løsning

Underlig fejl?

Hej folk... Jeg har lige siddet og fedtet lidt med noget C++. Jeg har lavet et lille program som emulere cin-functionen:

01: #include <iostream.h>
02: #include <conio.h>
03:
04: void main(void)
05: {
06:     int i=0;
07:     char a;
08:     char str[64];
09:     while (a != 13){
10:         a = getch();
11:         str[i]=a;
12:         i++;
13:         cout << a;
14:     }
15:     clrscr();
16:     cout << " Testing!\nÍÍÍÍÍÍÍÍÍ" << endl << endl;
17:     cout << "  Du skrev: " << str << endl;
18:     getch();
19: }

Det virker også fint, som det skal, men ca. hveranden gang jeg køre programmet bliver linie 17 til noget underligt. Det kan f.eks. blive til:

2eDu skrev: testing
e Du skrev: testing
¤Du skrev: testing

osv, men jeg kan ikke rigtig se noget mønster i "fejlene"...

Nogen der har et godt bud på hvad dette kan skyldes?
Avatar billede acid-head Nybegynder
14. maj 2002 - 20:04 #1
Hvis i vil vide det, så compiler jeg med Borlands gratis CommandLine compiler... =)
Avatar billede chries Nybegynder
14. maj 2002 - 20:19 #2
her er en fejl
du mangler nul terminering på strengen.

90:    while (a != 13){
10:        a = getch();
11:        str[i]=a;
12:        i++;
13:        cout << a;
14:    }
        str[i]='\0';
15:    clrscr();
Avatar billede acid-head Nybegynder
14. maj 2002 - 20:39 #3
Ååh, det havde jeg da fuldstændig glemt! ;)

- Tusind tark for hjælpen!! *S* Og lidt point til dig! ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester