Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   Help with file input... (https://thetfp.com/tfp/tilted-technology/77423-help-file-input.html)

HGClown 11-30-2004 01:29 PM

Help with file input...
 
Ok, I'm using c++ and I need to get information from an input file, I'm fine with opening an input file and reading in the information but the problem I have is the input file is going to consists of lines of integers, I need to get the first four lines into 4 different arrays, use the data then move on untill all the data from the input file has been used. I wont know how many integers will be in each line, just that each line will be seperated by a carriage return.

Thanks,

HGClowns

SiNai 12-01-2004 04:18 PM

Sounds like you know what you're doing.. :confused:

So you get four arrays, process them, repeat ad infinitum until finished? I don't know c++ syntax, but seems like you're going to want a loop(exit when end of file) within a loop(exit when end of line), use some number to keep track how many lines you have read, this way you can easily tell when you've used up 4 lines, so then make a subprocedure call to process them.

I can't really tell what your problem is specifically, but if all your asking is how to find a carriage return, thats easy.. but I can't help :(

DewMan 12-02-2004 10:10 AM

Quote:

Originally Posted by HGClown
Ok, I'm using c++ and I need to get information from an input file, I'm fine with opening an input file and reading in the information but the problem I have is the input file is going to consists of lines of integers, I need to get the first four lines into 4 different arrays, use the data then move on untill all the data from the input file has been used. I wont know how many integers will be in each line, just that each line will be seperated by a carriage return.

Thanks,

HGClowns

One easy way would be to change your output file to include an integer at the beginning of the line giving you the number of integers on the line.

Then it becomes easy to loop through.

If you can't do that, it is much more difficult. You'll have to manually parse the line. I would read in each line a character at a time. You read in each number a digit at a time into a string until you reach a delimiter (a space, comma, or CR, depending on your format). When you reach that delimiter, convert the string you read in into a number, put that number into your array, lather, rinse repeat.

When you read the CR, then you know you've reached the end of the line (so to speak).

Good luck.

hrdwareguy 12-02-2004 01:00 PM

Nuttin like helping people with their homework.

First question is, if you don't know how many intergers are on a line, how do you know how big to make the array?

Here are some functions you should look at, some may requre you to have answered the above question:

gets()
fgets()
fscanf()

HGClown 12-03-2004 11:34 AM

Thanks for the help Dewman, I was hoping there was a cleaner method to do it but oh well.
As for the size of the array hrdwareguy I'm using a dynamic array, so what I first do is open the input file, "count" the number of integers then allocate my array accourdingly, go back to the begginging of the file and then read them into my array using dewmans method.

HGClown 12-03-2004 11:42 AM

oops forgot, thanks to SiNai and hrdwareguy too.


All times are GMT -8. The time now is 12:30 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73