Problem med typekonvertering - måske
Hej.Jeg har dette lille program som bare kører og logger tiden for hver loop
Men output filen bliver fuld af mærkelige tegn og tiden som jeg ønsker.
Mit bud er at strengen ikke bliver "klippet" korrekt når den konverteres/skrives ??
Jeg har forsøgt at anvende itoa() med det vil ikke lykkes så derfor sprintf()?? - det er sikkert problemet !
Har nogen et bud på problemet?
Mvh
Teddy
her er koden:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
FILE *fp;
int antalSamples;
int sleepTime;
char timeStamp[30];
int main(int argc, char* argv[])
{
struct timespec time1;
if(argc < 4)
{
printf("Syntax: ./timeLogger SleepTime AntalSamples logFile");
return 0;
}
fp=fopen(argv[3], "w+");
antalSamples = atoi(argv[2]);
sleepTime = atoi(argv[1]);
clock_gettime(CLOCK_REALTIME, &time1);
sprintf(timeStamp, "%ld\n", time1.tv_nsec);
fwrite(timeStamp, sizeof(timeStamp), sizeof(timeStamp), fp);
while(antalSamples--)
{
clock_gettime(CLOCK_REALTIME, &time1);
sprintf(timeStamp, "%ld\n", time1.tv_nsec);
fwrite(timeStamp, sizeof(timeStamp), sizeof(timeStamp), fp);
// printf("%s",timeStamp);
}
fclose(fp);
}