|
| Undgå at vinduet lukket. Fra : Rasmus Ladekjær Pede~ |
Dato : 06-05-03 20:20 |
|
Hej.
Jeg har læst lidt i Accerlerted C++ (er kommet til kapitel 2),
har følgendene spørgsmål:
1. Finders der en smart måde at undgå at vinduet lukker efter
at programmet er udført (f.eks. som i den gængse "Hello,
world!")?
2. Hvad er forskellel på en "string" og en "string literals" ?
3. Jeg har hidtil brugt Borland's gratis C++ kompiler, men jeg
har lige læst at den ser "ret håbløs ud". Skal jeg bruge en
anden kompiler, og i såfald hvilken?
På forhånd tak.
--
Mvh Rasmus
| |
Jakob Nielsen (06-05-2003)
| Kommentar Fra : Jakob Nielsen |
Dato : 06-05-03 20:30 |
|
> 1. Finders der en smart måde at undgå at vinduet lukker efter
> at programmet er udført (f.eks. som i den gængse "Hello,
> world!")?
du kunne
printf("press any key to terminate");
getchar();
eller du kan bruge getch ved at inkludere conio.h. Det er ikke længere helt
standard så, men mange compilers inkluderer conio.h til windows.
> 2. Hvad er forskellel på en "string" og en "string literals" ?
En string er i c++ en klasse ligesom en hver anden klasse. Member variabler
og metoder. Man kan tildele den værider og ændre disse. En string litteral
er en konstant som ikke ændres i løbet af programmet. Den kan i princippet
ike ændres, og du ved ikke hvor den er allokeret. Den vil som oftest ligge i
kodesegmentet.
> 3. Jeg har hidtil brugt Borland's gratis C++ kompiler, men jeg
> har lige læst at den ser "ret håbløs ud". Skal jeg bruge en
> anden kompiler, og i såfald hvilken?
Det citat husker jeg. Jeg husker også at andre hurtigt spurgte præcis
hvorfor den så håbløs ud. Brug du bare den hvis du er glad.
| |
Mogens Hansen (06-05-2003)
| Kommentar Fra : Mogens Hansen |
Dato : 06-05-03 20:58 |
|
"Jakob Nielsen" <jn@no.mail.no> wrote
> > 1. Finders der en smart måde at undgå at vinduet lukker efter
> > at programmet er udført (f.eks. som i den gængse "Hello,
> > world!")?
>
> du kunne
> printf("press any key to terminate");
> getchar();
> eller du kan bruge getch ved at inkludere conio.h. Det er ikke længere
helt
> standard så, men mange compilers inkluderer conio.h til windows.
Idet Accelerated C++ gør et stort nummer ud af _kun_ at behandle Standard
C++, og undgår at nævne printf familien af funktioner vil et bedre råd i
denne sammenhæng være at bruge iostream:
cout << "press any key and enter to terminate";
char c;
cin >> c;
eller måske
cout << "press any enter to terminate";
cin.get();
Venlig hilsen
Mogens hansen
| |
Jakob Nielsen (06-05-2003)
| Kommentar Fra : Jakob Nielsen |
Dato : 06-05-03 21:49 |
|
> Idet Accelerated C++ gør et stort nummer ud af _kun_ at behandle Standard
> C++, og undgår at nævne printf familien af funktioner vil et bedre råd i
> denne sammenhæng være at bruge iostream:
Ya ok. Point taken.
Jeg er nok handikappet ved at komme fra c før jeg lærte c++. Derfor bruger
jeg gerne c-funktionerne når de lige er nemmere at gå til.
| |
Mogens Hansen (06-05-2003)
| Kommentar Fra : Mogens Hansen |
Dato : 06-05-03 20:53 |
|
"Rasmus Ladekjær Pedersen" <ilmabg@hotmail.com> wrote
> Hej.
> Jeg har læst lidt i Accerlerted C++ (er kommet til kapitel 2),
> har følgendene spørgsmål:
> 1. Finders der en smart måde at undgå at vinduet lukker efter
> at programmet er udført (f.eks. som i den gængse "Hello,
> world!")?
Du kan køre programmet fra et kommando promt ("populært" et DOS vindue).
Når du så kører dit program, vil det den har skrevet stå tilbage på skærmen
efter programmet er afsluttet.
> 2. Hvad er forskellel på en "string" og en "string literals" ?
std::string er, som det står på side 10, en type (klasse).
Du kan lave variable af typen "std::string" på samme måde som du kan lave
variable af andre type, f.eks. "int".
Som der står i kapitel 0.7 står "string literal" beskrevet i kaptiel 10.2,
side 176.
Indtil videre kan du tænke på det som den tekst du direkte skriver i
programmet.
"String literal" er konstante.
> 3. Jeg har hidtil brugt Borland's gratis C++ kompiler, men jeg
> har lige læst at den ser "ret håbløs ud". Skal jeg bruge en
> anden kompiler, og i såfald hvilken?
Se mit svar på dit spørgmål i tråden "Er disse bøger forældede ??"
Venlig hilsen
Mogens Hansen
| |
Torben W. Hansen (06-05-2003)
| Kommentar Fra : Torben W. Hansen |
Dato : 06-05-03 22:48 |
|
"Rasmus Ladekjær Pedersen" <ilmabg@hotmail.com> skrev i en meddelelse
news:b991s1$pu6$1@sunsite.dk...
> Hej.
> Jeg har læst lidt i Accerlerted C++ (er kommet til kapitel 2),
> har følgendene spørgsmål:
> 1. Finders der en smart måde at undgå at vinduet lukker efter
> at programmet er udført (f.eks. som i den gængse "Hello,
> world!")?
Jeg bruger gerne denne, men jeg ved ikke om det er C eller C++
#include <stdlib> // <stdlib> er vist ikke nødvendig hvis <iostream>
er inkluderet.
int main()
{
....
system("pause");
return 0;
}
Med venlig hilsen
Torben W. Hansen
| |
Martin Moller Peders~ (07-05-2003)
| Kommentar Fra : Martin Moller Peders~ |
Dato : 07-05-03 08:08 |
|
In <b99am2$1cmk$1@news.cybercity.dk> "Torben W. Hansen" <mail@ins-intersoft.com> writes:
>"Rasmus Ladekjær Pedersen" <ilmabg@hotmail.com> skrev i en meddelelse
>news:b991s1$pu6$1@sunsite.dk...
>> Hej.
>> Jeg har læst lidt i Accerlerted C++ (er kommet til kapitel 2),
>> har følgendene spørgsmål:
>> 1. Finders der en smart måde at undgå at vinduet lukker efter
>> at programmet er udført (f.eks. som i den gængse "Hello,
>> world!")?
>Jeg bruger gerne denne, men jeg ved ikke om det er C eller C++
>#include <stdlib> // <stdlib> er vist ikke nødvendig hvis <iostream>
>er inkluderet.
Det hedder
#include <cstdlib>
stdlib er ikke et C++ library.
>int main()
>{
>...
>system("pause");
>return 0;
>}
pause: Command not found.
paa min unix-box.
/Martin
| |
Torben W. Hansen (07-05-2003)
| Kommentar Fra : Torben W. Hansen |
Dato : 07-05-03 08:40 |
|
"Martin Moller Pedersen" <tusk@daimi.au.dk> skrev i en meddelelse
news:b9abcr$1eqs$1@news.net.uni-c.dk...
> In <b99am2$1cmk$1@news.cybercity.dk> "Torben W. Hansen"
<mail@ins-intersoft.com> writes:
> pause: Command not found.
> paa min unix-box.
Det er utroligt at man ikke kan afskrive 6 liniers kode uden at lave fejl.
Der skulle have stået følgende:
#include <stdlib.h> // <stdlib.h> er vist ikke nødvendig hvis
<iostream>
int main()
{
system("pause");
return 0;
}
Iøvrigt prøvede jeg med #include af : <stdlib.h>, <cstdlib> og <iostream>,
der alle virker i mit miljø, Dev C++ for Windows (gcc3.2). Men hvis det er
platformafhængigt, så er det jo ikke det bedste råd at give.
Tak for korrektionerne...
Med venlig hilsen
Torben W. Hansen
| |
Rasmus Ladekjær Pede~ (08-05-2003)
| Kommentar Fra : Rasmus Ladekjær Pede~ |
Dato : 08-05-03 20:03 |
|
Hej igen.
Mange tak til jer alle.
--
Mvh Rasmus
| |
|
|