Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #161985

Re: Allocate length of word vs fixed length

From Real Troll <real.troll@trolls.com>
Newsgroups comp.lang.c
Subject Re: Allocate length of word vs fixed length
Date 2021-07-20 00:30 +0100
Organization Aioe.org NNTP Server
Message-ID <sd52c5$1qgp$1@gioia.aioe.org> (permalink)
References <U3iJI.61694$VU3.5811@fx46.iad> <sd4em5$694$1@dont-email.me> <OvjJI.64366$Vv6.35081@fx45.iad>

Show all headers | View raw


On 19/07/2021 19:29, dfs wrote:
>
> 0.1 seconds here for (1 * 370103 =  370103) on my old system
> 0.5 seconds for (6 * 370103 = 2220618)
>

How are you measuring the timing? Can you check this program by running:

"prog words_alpha.txt"  This is providing the text file name at the 
command prompt to load it.

I have commented out the printf() function in the main() because the 
file is very big to print on the screen.


<==================================================================================>

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

const int STEPSIZE = 100;

char **loadfile(char *fileName, int *len);

int main(int argc, char *argv[])
{
     if (argc == 1)
     {
         perror("Error: ");
         exit(1);
     }

     int length = 0;
     char **words = loadfile(argv[1], &length);

     if (!words)
     {
         perror("Error: ");
         exit(1);
     }

     for (int i = 0; words[i] != NULL; i++)
     {
         // printf("%s\n", words[i]);
     }

     printf("Total Lines are: %d", length);
     return EXIT_SUCCESS;
}

char **loadfile(char *fileName, int *len)
{
     FILE *f = fopen(fileName, "r");

     if (!f)
     {
         perror("Error: ");
         return NULL;
     }

     int arrlen = STEPSIZE;
     // char **lines = NULL;
     char **lines = (char **)malloc(arrlen * sizeof(char *));

     char buf[1000];
     int i = 0;
     while (fgets(buf, 1000, f))
     {
         if (i == arrlen)
         {
             arrlen += STEPSIZE;
             char **newlines = realloc(lines, arrlen * sizeof(char *));

             if (!newlines)
             {
                 perror("Error: ");
                 exit(1);
             }

             lines = newlines;
         }

         buf[strlen(buf) - 1] = '\0';

         int slen = strlen(buf);
         char *str = (char *)malloc((slen + 1) * sizeof(char));
         strcpy(str, buf);
         lines[i] = str;
         i++;
     }
     *len = i;
     fclose(f);
     return lines;
}

<==================================================================================>


Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-19 12:50 -0400
  Re: Allocate length of word vs fixed length Bart <bc@freeuk.com> - 2021-07-19 19:01 +0100
    Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-19 14:29 -0400
      Re: Allocate length of word vs fixed length Bart <bc@freeuk.com> - 2021-07-19 19:49 +0100
        Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-19 18:01 -0400
          Re: Allocate length of word vs fixed length Bart <bc@freeuk.com> - 2021-07-19 23:25 +0100
      Re: Allocate length of word vs fixed length scott@slp53.sl.home (Scott Lurndal) - 2021-07-19 20:00 +0000
        Re: Allocate length of word vs fixed length Branimir Maksimovic <branimir.maksimovic@gmail.com> - 2021-07-19 23:29 +0000
      Re: Allocate length of word vs fixed length Real Troll <real.troll@trolls.com> - 2021-07-20 00:30 +0100
        Re: Allocate length of word vs fixed length DFS <nospam@dfs.com> - 2021-07-19 20:40 -0400
          Re: Allocate length of word vs fixed length Real Troll <real.troll@trolls.com> - 2021-07-20 17:00 +0000
      Re: Allocate length of word vs fixed length Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-24 01:07 +0000
  Re: Allocate length of word vs fixed length David Brown <david.brown@hesbynett.no> - 2021-07-19 21:35 +0200
    Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-19 18:02 -0400
  Re: Allocate length of word vs fixed length Ike Naar <ike@rie.sdf.org> - 2021-07-19 21:11 +0000
    Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-19 18:03 -0400
      Re: Allocate length of word vs fixed length Ike Naar <ike@sdf.org> - 2021-07-20 05:28 +0000
  Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-19 18:21 -0400
    Re: Allocate length of word vs fixed length Bart <bc@freeuk.com> - 2021-07-19 23:29 +0100
      Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-19 18:40 -0400
  Re: Allocate length of word vs fixed length Peter 'Shaggy' Haywood <phaywood@alphalink.com.au> - 2021-07-20 11:44 +1000
  Re: Allocate length of word vs fixed length Real Troll <real.troll@trolls.com> - 2021-07-20 22:15 +0000
    Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-20 20:22 -0400
      Re: Allocate length of word vs fixed length dfs <nospam@dfs.com> - 2021-07-21 23:23 -0400

csiph-web