1 / 17

Input og output mv.

Input og output mv. printf. int printf(char *format, arg1, arg2, … , argn) returnerer antal udskrevne tegn Format indeholder to typer objekter: almindelige tegn, som kopieres til outputstrømmen konverteringsspecifikationer der hver foretager en konvertering (begynder med et %).

Download Presentation

Input og output mv.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Input og output mv.

  2. printf int printf(char *format, arg1, arg2, … , argn) returnerer antal udskrevne tegn Format indeholder to typer objekter: • almindelige tegn, som kopieres til outputstrømmen • konverteringsspecifikationer der hver foretager en konvertering (begynder med et %)

  3. printf. Konverteringstegnene d int decimalt o int oktalt x, X int hexadicimalt u int uden fortegn c et tegn s en c-streng f float e, E double % der konverteres ikke men udskrives et %

  4. printf. Formatering main() { float f = 5.2; printf("%f\n", f); printf(”%5f\n”, f); printf("%15f\n", f); printf("%.2f\n", f); printf("%15.2f\n", f); } Output 5.200000 5.200000 5.200000 5.20 5.20

  5. printf. Formatering printf(":%s:\n", "Hello World"); :Hello World: printf(":%10s:\n", "Hello World"); :Hello World: printf(":%.10s:\n", "Hello World"); :Hello Worl: printf(":%-10s:\n", "Hello World"); :Hello World: printf(":%.15s:\n", "Hello World"); :Hello World: printf(":%-15s:\n", "Hello World"); :Hello World : printf(":%15.10s:\n", "Hello World"); : Hello Worl: printf(":%-15.10s:\n", "Hello World"); :Hello Worl :

  6. sprintf sprintf gør det samme som printf bortsetfra den gemmer output i en c-streng int sprintf(char *streng, char *format, arg1, … , argn);

  7. scanf int scanf(char *format, arg1, arg2, … , argn) arg1 … argn skal alle være pointere. int day, year; char mon[20]; scanf(”%d %s %d”, &day, mon, &year);

  8. sscanf Som scanf bortset fra der læses fra en c-streng int sscanf(char *streng, char *format, arg1, … ,argn);

  9. FILE FILE *fp; FILE *fopen(char *name, char *mode) Eksempel: fp = fopen(”fil.txt”, ”r”); mode kan være ”r” læse ”w” skrive ”a” append Eksisterer file ikke laves den. int fclose(FILE *fp); // lukker filen

  10. getc og putc int getc(FILE *fp) int putc(FILE *fp) der er altid tre åbne filer: stdin, stdout, stderr #define getchar() getc(stdin) #define putchar() putc(stdout)

  11. fprintf og fscanf fprintf skriver på en fil int fprintf(FILE *fp, char *format, arg1, arg2, … , argn) int fscanf(FILE *fp, char *format, arg1, arg2, … , argn)

  12. Filedescriptor. Åben en eksisterende fil #include <fcntl.h> int fd; // fd er en file descriptor fd = open(char *name, int flags, int perm); flag: O_RDONLY read only O_WRONLY write only O_RDWR read / write permissions : 0 eller 0xxx owner, group and others

  13. Filedescriptor. Åben en ny fil int fd; fd = create(char *name, int perm);

  14. Læs og skriv int antal_laest = read(int fd, char* buf, int antal); antal_laest = 0: End Of File antal_laest < 0: fejl int antal_skrevet = write(int fd, char* buf, int antal);

  15. Eksempel på kopiering #include <fcntl.h> #define BUFSIZE 1024 int main() // kopier fra stdin til stdout { char buf[BUFSIZE]; int n; while((n = read(0, buf, BUFSIZE)) > 0) write(1, buf, n); return 0; }

  16. lseek long lseek(int fd, long offset, int origin) ændre filpointeren til offset, der tages relativt fra positionen, der er angivet med origin. origin 0: begyndelsen 1: nuværende position 2: slutningen lseek(fd, 0L, 2) sætter pointeren til slutningen af filen

  17. Strengoperationer strcat(s,t) Indsæt t efter strengen s strcat(s, t, n) Som strcat, men kun de første n tegn strcmp(s, t) Returner en negativ, 0 eller en positiv værdi for s < t, s == t, s > t strcmp(s, t, n) Som strcmp men kun de første n tegn strcpy(s, t) Kopier t til s strcpy(s, t, n) Som strcpy men kun de første n tegn strlen(s) Længden af s strchr(s, c) Returner en pointer til det første c i s, eller null hvis c ikke findes strrchr(s,c) Returner en pointer til det sidste c i s, eller null hvis c ikke findes

More Related