Well i did make a quick search throughout the forum for an answer ..iam sure there is one somewhere..maybe iam not so good at searching...anyway here is my question...I think iam fairly good at c++ but lately i've decide to learn c as well...why not? so i've decided to port one of my programms..but iam stuck (it is obvious i suppose) ok..here is the code.
ok this piece of code displays the file correctly but fills the arrays with zeros...so i've thought that i need to rewind the stream (or something) but it still doesn't work. if i access the linesoffile function the first time i get the correct result but not the second etc...i reckon it is the same problem..Code:#include <stdio.h> int linesoffile(FILE *stream) { printf("file read\n"); char x[12],y[12],z[12]; int i=0; char *forpop = "%s %s %s\n"; while (fscanf (stream, forpop, x, y, z) == 3) { printf("x:%s, y:%s, z:%s\n", x, y, z); i++; } printf("the number of coordinates in the file are: %d", i); return i; } int main (int argc, const char * argv[]) { FILE *stream = fopen("stone2000.xyz", "r"); if(!stream) { printf("file open failed"); } int i = linesoffile(stream); printf("\n%d ", i); float x[i], y[i], z[i], b; int g; char * del = "%f %f %f\n"; for ( g = 0; i > g; g++); { b = fscanf (stream, del, x[g], y[g], z[g]); g++; } //testing the arrays printf("%f %f %f %d", x[0], y[45], z[78], g); fclose(stream); return 0; }
any ideas?
ps. i don't think that it matters but iam using a mac



LinkBack URL
About LinkBacks



