funtie zie spatie als EOF ???

Pagina: 1
Acties:

  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
Het gaat om de C functie:

fgets(fileline);

leest van stdin...
als ik op stdin 3 woorden type leest deze alleen de eerte in!!
hoe kan dit... en wat doe ik eraan ??

fscans("%s",fileline);

heeft hetzelfde probleem

FreeBSD 5 (operatingsystem)


voor de aardigheid:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
#
#ping -c 10 www.tweakers.net | grep round-trip | 
/home/mk/programming/dateln/dateln >
 /home/mk/programming/dateln/pinglog.txt
#ping -c 10 www.tweakers.net | grep round-trip
#
*/

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

main()
{
   int year;
   char fileline[256];
   char timeline[256];
   struct tm tijd;
   fgets(fileline);

   mktime(&tijd);
   strftime(timeline, 255, "%H:%M [%A, %d %b %Y]", &tijd);

   year = tijd.tm_year+1900;

   printf("%s",timeline);
   printf("%s\n",fileline);
   //printf("%d,%d %d/%d/%d - %s\n",
   // tijd.tm_hour,tijd.tm_hour,tijd.tm_mday,
   // tijd.tm_mon,year, fileline);
}

[ Voor 89% gewijzigd door xychix op 22-05-2003 14:14 ]

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


  • Xanthus
  • Registratie: Februari 2002
  • Laatst online: 11-07 12:45
Waarom gebruik je geen gets(fileline) als je toch van stdin wil lezen?
En volgens mij is het fgets(char *s, int n, FILE *fp), dus dan zou je in je programma moeten gebruiken: fgets(fileline, maximaal in te lezen karakters, stdin); Dan lees je wel ook de newline in..

[ Voor 59% gewijzigd door Xanthus op 22-05-2003 15:13 ]