30. oktober 2001 - 20:29Der er
11 kommentarer og 1 løsning
standard input?
jeg er lige begyndt med c og er løbet ind i noget med standard input, som jeg ikke helt kan få til at virke. Hvor er det helt præcist at de input kommer fra?
Du kan betragte stdin som en speciel fil, som din compiler åbner for dig. Normalt vil stdin som henrik og alvion siger være tastaturet, men det kan altså også være en fil.
Hver gang brugeren trykker på en tast, kan man sige at længden af indholdet stdin stiger med 1 tegn.
Hver tast har IKKE et specielt navn - det bliver blot til et tegn i \"filen\".
Funktioner som f.eks. getch() en i virkeligheden en marco der laver fgetch(stdin), dvs. læser et tegn fra stdin.
#include <stdio.h> #include <conio.h>
int main(void) { char enTast; while ((enTast = getch()) != \'\\x1B\') { cputs(\"Du har trykket på: \\\'%c\\\' \\r\\n\", enTast); }; // Kør indtil ESC trykkes
Jeg har taget din kodestump, kompileret og kørt den - og det virker fint. (Bortset fra at alle CR i filen ikke bliver talt med !)
Når du kører consol-applikationer (andet navn for DOS-programmer) under de nyere C-compilere, bliver disse kørt i et vindue, og vinduet derefter lukket. Det betyder at man sommetider ikke kan nå at se, hvad der skete.
Prøv at starte et DOS-prompt og så skrive \'type input.c | input.exe\' der - det burde altså virke.
som sagt er jeg lidt af en begynder i c så du må bære over med mig. Jeg har fået det til at virke nu. Grunden til at det ikke virkede var at jeg startede programmet input.exe og og skrev \"type input.c|input.exe der, det virkede jo selvfølgelig ikke! Bær over med mig, du får lige lidt point for din ulejlighed. tak for hjælpen.
Vi kan alle begå en torsktanke fra tid til anden !Held og lykke med C++ fremover, og tak for pointene.
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.