I am reading in a csv that contains 13 columns, the first column is the name of an image, for example "picture.tiff" the next 12 are numerical parameters using a decimal, for example "23.45". I had no problem parsing it when I made everything a number (instead of picture.tiff, I used 0001 for image names and later appended .tiff to it to open)... So I was thinking I would be more efficient and save the complete image name in the csv. However now I can parse the string, but not the numerical parameters following... as usual I think I must be going crazy and need to lay off the coffee. FYI I am saving everything in to a struct. Code: char line [ 180 ]; fp= fopen(csvfilename,"r"); fgets(line, sizeof line, fp); //bypass first header line sscanf(line, "%31s,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f", &Initial_Guess[z].ImageName, &Initial_Guess[z].x1, ... (etc....) So I get the ImageName correct and can load the image using OpenCV, however all my parameters come back as 0.0000... I also tried splitting it up Code: char line2[180]; sscanf(line, "%31s,%s", &Initial_Guess[z].ImageName, line2); and then sscanf on line2 but no good,... if I debug and look at "line2" it IS the rest of the line from the csv... here is the definition of the struct if that helps" Code: typedef struct { char ImageName [ 180 ]; float x1, y1, z1, roll1, pitch1, yaw1, x2, y2, z2, roll2, pitch2, yaw2; CvPoint BoxUL, BoxLR; } RECORD_T38; And yes, all the images names are exactly the same length, so 31 works good... Thoughts? Thanks in advance.