Hvad har du defineret din variable a som? Kig evt. lidt på dette eksempel...
void main() { FILE *stream; char *p, buffer[] = "This is the line of output\n"; int ch;
ch = 0; /* Make standard out the stream and write to it. */ stream = stdout; for(p = buffer; (ch != EOF) && (*p != '\0'); p++) ch = putc( *p, stream ); }
Dit scanf() statement forventer en streng af char's - ikke kun en enkelt. Hvis du vil gemme en hel streng, skal du sørge for:
1) scanf("%s", &a); Ændres til scanf("%s", a); samt sikre at a er defineret f.eks. char a[128]; (A er så en pointer til et char array - derfor skal du ikke skrive & foran.)
2) putc(a, filen); Ændres til puts(a, filen); da a er en streng.
Hvis du derimod kun vil gemme eet tegn, skal du:
1) scanf("%s", &a) Ændres til scanf("%c", &a); og du skal sikre dig at a er defineret som char a;
i stedet for "putc(a, filen);" skriv "fwrite (a, strlen (a), 1, filen);"
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.