Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v4l1ac$3kq0g$1@dont-email.me>
Deutsch   English   Français   Italiano  
<v4l1ac$3kq0g$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.misty.com!weretis.net!feeder9.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Malcolm McLean <malcolm.arthur.mclean@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: Whaddaya think?
Date: Sat, 15 Jun 2024 22:33:00 +0100
Organization: A noiseless patient Spider
Lines: 64
Message-ID: <v4l1ac$3kq0g$1@dont-email.me>
References: <666ded36$0$958$882e4bbb@reader.netnews.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 15 Jun 2024 23:33:00 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="d215d4324750730ebb6b30950f8c5d51";
	logging-data="3827728"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19W9L4OmsS1c3Q99bN9tH3c20xhejqLUD8="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:QzQdat8w1MqWLCJkxoR5XIJShGA=
In-Reply-To: <666ded36$0$958$882e4bbb@reader.netnews.com>
Content-Language: en-GB
Bytes: 2941

On 15/06/2024 20:36, DFS wrote:
> I want to read numbers in from a file, say:
> 
> 47 185 99 74 202 118 78 203 264 207 19 17 34 167 148 54 297 271 118 245 
> 294 188 140 134 251 188 236 160 48 189 228 94 74 27 168 275 144 245 178 
> 108 152 197 125 185 63 272 239 60 242 56 4 235 244 144 69 195 32 4 54 79 
> 193 282 173 267 8 40 241 152 285 119 259 136 15 83 21 78 55 259 137 297 
> 15 141 232 259 285 300 153 16 4 207 95 197 188 267 164 195 7 104 47 291
> 
> 
> This code:
> 1 opens the file
> 2 fscanf thru the file to count the number of data points
> 3 allocate memory
> 4 rewind and fscanf again to add the data to the int array
> 
> 
> Any issues with this method?
> 
> Any 'better' way?
> 
> Thanks
> 
> 
> ----------------------------------------------------------
> #include <stdio.h>
> #include <stdlib.h>
> 
> int main(int argc, char *argv[]) {
> 
>      int N=0, i=0, j=0;
>      int *nums;
> 
>      FILE* datafile = fopen(argv[1], "r");
>      while(fscanf(datafile, "%d", &j) != EOF){
>          N++;
>      }
> 
>      nums = calloc(N, sizeof(int));
>      rewind(datafile);
>      while(fscanf(datafile, "%d", &j) != EOF){
>          nums[i++] = j;
>      }
>      fclose (datafile);
>      printf("\n");
> 
>      for(i=0;i<N;i++) {
>          printf("%d. %d\n", i+1, nums[i]);
>      }
>      printf("\n");
>      free(nums);
>      return(0);
> 
> }
> ----------------------------------------------------------
> 
> 
Some files can't be rewound. Whilst C doesn't have dynamic arrays, 
languages tha do suooort then usually build them on top of the C-linked 
realloc() function. It's redious, but not hard to do.
-- 
Check out my hobby project.
http://malcolmmclean.github.io/babyxrc