Avatar billede jamal_s Nybegynder
07. februar 2002 - 10:53 Der er 4 kommentarer og
1 løsning

skrive til file ?

hejsa..

hvorfor virker dette kode ik ???

void main()
{
FILE *filen;
clrscr();
filen = fopen("asd.txt", "w");
printf("Skrive: ");
scanf("%s", &a);
putc(a, filen);
getch();
fclose(filen);
}
Avatar billede jamal_s Nybegynder
07. februar 2002 - 10:54 #1
der er ingen fejl, den gemmer bare ik det tekst brugeren indtaster
!
Avatar billede affen Nybegynder
07. februar 2002 - 10:57 #2
hejsa hvor kan jeg hente det der program c/c++
Avatar billede jpk Nybegynder
07. februar 2002 - 11:04 #3
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 );
}
Avatar billede soepro Nybegynder
07. februar 2002 - 12:32 #4
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;
Avatar billede futter2 Nybegynder
07. februar 2002 - 19:10 #5
i stedet for "putc(a, filen);" skriv "fwrite (a, strlen (a), 1, filen);"
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