Mail Archives: djgpp/1998/12/02/01:45:54
From: | Martin Ambuhl <mambuhl AT earthlink DOT net>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Re: parsing function not working
|
Date: | Wed, 02 Dec 1998 01:32:47 -0500
|
References: | <01be1db7$840e4160$5640ab95 AT JUry DOT law DOT unsw DOT edu DOT au>
|
X-Posted-Path-Was: | not-for-mail
|
X-Accept-Language: | en
|
X-ELN-Date: | 2 Dec 1998 06:33:35 GMT
|
X-ELN-Insert-Date: | Tue Dec 1 22:35:08 1998
|
Organization: | Nocturnal Aviation
|
Lines: | 48
|
Mime-Version: | 1.0
|
NNTP-Posting-Host: | 1cust196.tnt11.nyc3.da.uu.net
|
Message-ID: | <3664DF0F.3D480EA2@earthlink.net>
|
X-Mailer: | Mozilla 4.5 [en] (Win95; I)
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
Joe Ury wrote:
>
> This test (below) works OK, but when I #include the function into a larger
> file I
> get an "assignmet makes pointer from interger without a cast (refering to
> line five of cts.inc)" msg and I am passing type char * to it just as in
> the test below.
=============
If you use the compilation option -ansi, then strsep will have no
prototype in scope since it is not a standard C function. So don't use
the -ansi option, or learn how to write your code using the standard
function strtok instead.
And it is a violation of the standard to use printf, a variadic
function, without a prototype in scope, so #include <stdio.h>
============
>
> #include <string.h>
> #include "c:\djgpp\cts.inc"
> char *pc = "P005.133/C/25K";
> int main()
> {
> float dog;
> dog = CallToSort(pc);
> printf("dog = %f\n",dog);
> }
>
> below is the function "cts.inc":
>
> float CallToSort(char *buf)
> { int i = 0;
> char *tok;
> char **bp = &buf;
> double flo = 0, data[4];
> while (tok = strsep(bp, "ABCDEFGHIJKLMNOPQRSTUVWXYZ/")){
> flo = atof(tok);
> if (flo > 0){
> data[i] = flo;
> ++i;
> }
> }
> return data[0];
> }
--
Martin Ambuhl (mambuhl AT earthlink DOT net)
Note: mambuhl AT tiac DOT net will soon be inactive
- Raw text -