/* make-some-data.c -- skapar en textfil med slumpmässiga mätvärden */ #include <stdlib.h> #include <stdio.h> #include <time.h> #include <errno.h> #include <string.h> #ifdef _WIN32 #include <conio.h> #endif void usage(void) { fprintf(stderr, "Skriv: make-some-data ANTAL-VÄRDEN SENSOR-STORLEK FILNAMN\n"); #ifdef _WIN32 _getch(); #endif exit(EXIT_FAILURE); } int main(int argc, char *argv[]) { unsigned long antal; /* En vanlig int är ofta bara 32 bitar, även på 64-bitarssystem */ unsigned long sida; unsigned long i; FILE *filen; if (argc != 4) usage(); if (sscanf(argv[1], "%lu", &antal) != 1) usage(); if (sscanf(argv[2], "%lu", &sida) != 1) usage(); filen = fopen(argv[3], "w"); if (filen == NULL) { fprintf(stderr, "Det gick inte att skriva filen '%s'.\n", argv[3]); fprintf(stderr, "Möjlig felorsak: %s (felkod %d).\n", strerror(errno), errno); #ifdef _WIN32 _getch(); #endif exit(EXIT_FAILURE); } srand((unsigned int)time(NULL)); for (i = 0; i < antal; ++i) fprintf(filen, "%lu %lu %f\n", rand() % sida, rand() % sida, (double)rand() / RAND_MAX); fclose(filen); printf("Klart. Skrev %lu rader på filen '%s'.\n", antal, argv[3]); #ifdef _WIN32 _getch(); #endif return EXIT_SUCCESS; }