infile size

I am trying to read a file into an array. The amount of data in the file is unknow. Is there a line code for infile length? I need the program to look at the file, and see how much is there so it knows when to stop. See lines 52 & 103 to see what i am refering too.

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <iostream>										//C++ Project 4, Enc & Dec
#include <string>										//Written by: Mark S H Jr
#include <fstream>										//Last compiled on 11/20/2008
#include <iomanip>										//Written and compiled using: Microsoft Visual C++ 2008
#include <stdlib.h>

using namespace std;

int main()
{
	int opt;

	opt=0;

	cout << "Enter the option number you wish to execute: ";
	cout << "1=Encryption";
	cout << "2=Decryption";
	cout << "3=EXIT";
	cin >> opt;

	switch (opt)
	{
	case '1':
		{
			ifstream infile;
			ofstream outfile;
	
			char inf[50], outf[50], a[20], pw[20];
			int i,j,x,y,z;

			cout << "Enter the input root directory and file name:";
			cin >> inf;
			cout << endl;

			infile.open (inf);

			if (!infile)
			{
				cout << "CANNOT OPEN THE FILE!!" << endl;
				return 1;
			}

			cout << "Enter the output root directory and file name:";
			cin >> outf;
			cout << endl;

			outfile.open(outf);

			cout << "Enter the Password; a 5 letter combination.";
			cin >> pw;

			infile.len() = z;

			while (!infile.eof())
			{
				for (i=0; i < z; i++)
				{	
					infile >> list[i];
					x=strlen(inf);
					y=strlen(pw); 
					j=0;
				}

				for (i=0; i<x; i++,j++)
				{
					if (j>=y) j=0;
					a[i]=a[i]+pw[j];
				}
					
				cout << endl << a;
				cout << endl << "Enc is done" << endl;
			}
		}
	case '2':
		{
			ifstream infile;
			ofstream outfile;
	
			char inf[50], outf[50], a[20], pw[20];
			int i,j,x,y,z;

			cout << "Enter the input root directory and file name:";
			cin >> inf;
			cout << endl;

			infile.open (inf);

			if (!infile)
			{
				cout << "CANNOT OPEN THE FILE!!" << endl;
				return 1;
			}

			cout << "Enter the output root directory and file name:";
			cin >> outf;
			cout << endl;

			outfile.open(outf);

			cout << "Enter the Password; a 5 letter combination.";
			cin >> pw;

			infile.len() = z;

			while (!infile.eof())
			{
				for (i=0; i < z; i++)
				{	
					infile >> list[i];
					x=strlen(inf);
					y=strlen(pw); 
					j=0;
				}

				for (i=0; i<x; i++,j++)
				{
					if (j>=y) j=0;
					a[i]=a[i]-pw[j];
				}
					
				cout << endl << a;
				cout << endl << "Decryption is done" << endl;
			}
		}
	case '3':
		break;
	}
	
	return 0;
}
Last edited on
I might just be a C++ nub (only been coding for a few months), but I don't see length declared anywhere...
Well, the problem is:

1
2
3
4
1>f:\test\test\test.cpp(66) : error C2065: 'length' : undeclared identifier
1>f:\test\test\test.cpp(68) : error C2065: 'length' : undeclared identifier
1>f:\test\test\test.cpp(130) : error C2065: 'length' : undeclared identifier
1>f:\test\test\test.cpp(132) : error C2065: 'length' : undeclared identifier
I have edited this post and please disregard previous comments. I am trying to read a file into an array. The amount of data in the file is unknow. Is there a line code for infile length? I need the program to look at the file, and see how much is there so it knows when to stop. See lines 52 & 103 to see what i am refering too.
Try seekg() and tellg()
http://www.cplusplus.com/doc/tutorial/files.html (scroll down)
Topic archived. No new replies allowed.