|
Consider the following aspects:
1. The file itself consists of characters, written sequentically. A line change is represented by a delimeter character, usually '\n'.
2. The above having said, all numbers in your text file are represented by characters.
For the CRT, there are routines that can convert a character string into a numeric variable, such as to an integer or to a float. Now, you should first piece up the reading into smaller parts. For example, instead of reading the entire file, try reading a single row (read until character equals '\n').
After this, parse the line you just read, considering that the line begins with a number, and all numbers are seperated by a white space. So, from start of the line, copy characters into a temporary buffer until you face a white space character (' '). Then run this temporary buffer through a char-to-number conversion routine, and save the converted integer into the array. Jump over the white space, and repeat.
This being a homework assignment, I won't give you a direct code example, but will guide you to the correct routines. For the numeric conversions, see _atoi in the MSDN. For the text file reading, how about copying the entire file into a HUGE buffer first, then parsing through the buffer line-by-line, and ultimately, each line by a number-by-number basis ?
You can run through a character string by using index numbers, for example, if char buffer[2000] then buffer[nIndex] would be a single character in the buffer.
Enjoy
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Another way. Old C style
<br />
char buff[BUFF_SIZE];<br />
int read=0;<br />
FILE *pFile = fopen("data.txt","r");<br />
if(!pFile)<br />
return 0;<br />
<br />
memset(buff,0,BUFF_SIZE-1);<br />
read=fread(buff,sizeof(char),BUFF_SIZE,pFile);
<br />
char *tmp_p=buff;<br />
char *tmp_n=buff;<br />
int a;<br />
while(tmp_n - buff<read-1)
{<br />
if(tmp_n[0]==' ' || tmp_n[0]=='\n')
{ <br />
a = atoi(tmp_p);<br />
tmp_p=tmp_n+1;<br />
printf("%d ",a);<br />
if(tmp_n[0]=='\n')
printf("\n");<br />
}<br />
<br />
tmp_n++;<br />
}<br />
I used an int a as representation of decimal valuse probably you will use your 2D array here.
I've made an assumption that we can not have consecutive separators. If in your file for a new line \r\n is used, then some simple modifications are needed.
Pain is a weakness living the body
|
|
|
|
|
Please help me to overcome from this issue.
I have to access the controls of Form1 in Form2, similarly i have to refer the controls and properties of form2 in In form1
How to achieve this.
In C# it is like this.
Code in form2
//just declare the form1 as a field in form2
Form1 frm1;
code in Form1;
//Create an instance of form2
Form2 frm2 = new Form2();
//add assign the current form
Form2.frm1 = this;
How to do this in managed C++.Net (VS.Net 2003)
Thanks a lot in Advance
Yours
Deva
devraj
|
|
|
|
|
You do it the same way...just using Managed C++ conventions:
public __gc class Form1;
private:
Form1* m_pForm1 = null;
public:
__property Form1* get_Form1() { return m_pForm1; }
__property set_Form1(test::Form1* pForm) { m_pForm1 = pForm; }
#include "Form2.h"
Form2* pForm2 = new Form2();
pForm2->Form1 = this;
|
|
|
|
|
In C++.Net initially it is not allowing the declaration of form1 in form2. Then how can i?
I have included the Form1.h in form2.h file. It gives the error : Storage class unspecified.
|
|
|
|
|
I've had no problem with it. Check the code carefully. Apply the __gc keyword where necessary as above.
|
|
|
|
|
I need to know how to run a script from another script in c++?
|
|
|
|
|
|
is that possible to use look ahaed fucntion in programming a tic-tac-toe c-program? what we need to initialize??beside, how to built a fuction to check which path is the best to move?
|
|
|
|
|
kclei wrote:
is that possible to use look ahaed fucntion in programming a tic-tac-toe c-program?
Yes.
kclei wrote:
how to built a fuction to check which path is the best to move?
Consider the factors which make one potential action better/worse than others. Rank all potential actions based on these factors. Choose the highest-ranked action. Repeat.
That's one way, at least...
How do you move in a world of fog, That's always changing things?
Makes me wish that i could be a dog, When i see the price that you pay.
|
|
|
|
|
Shog9 wrote:
Consider the factors which make one potential action better/worse than others. Rank all potential actions based on these factors. Choose the highest-ranked action. Repeat.
Wow, don't just give it away!
- Nick Parker My Blog
|
|
|
|
|
thanks for ur advice, i wil try my best on it..
|
|
|
|
|
I am wrapping an managed class around and unmanaged dll. I am then building the managed class as a dll and using it in c#.
The comes when I try to instantiate the unmanaged classes from the managed constructor; I get a stackoverflowexception and do not know why. Also, when I run my managed class dll as a console app and test it, it works fine. Any help. The code is listed below.
#include "unmanaged_dll.h"
#using <mscorlib.dll>
#include <vcclr.h>
_nogc UnmanagedDll class
{
public:
// 'unmanaged_dll' is the name of the class in the unmanaged dll
unmanagedd_dll d;
};
namespace ManagedDll
{
public:
extern "C" public __ gc class ManagedWrapper
{
ManagedWrapper()
{d = new UnManagedDll();:
}
private:
UnmanagedDll *u;
};
|
|
|
|
|
|
Thanking. I found out what my problem was and that part of the code works fine. If you look at my latest post above. It will provide you with the answer.
Thanks
|
|
|
|
|
Hi...
I am using two TListBoxes ang need to get the informasjon out of the ListBox and into char.
If someone can help me I be very .
Thanks
Helmet
|
|
|
|
|
Hi.
I have built a Win32 DLL (MyProject.dll), and i am trying to register this DLL using regsvr32 utility, but this is giving me following error:
"MyProject.dll was loaded, but the DLLRegisterServer entry point was not found"
I am working in VC++ .NET and my OS is Win2000 Professional.
Can somebody provide me the solution for registering the Win32 DLL?
Thanks in advance.
Regards,
ADARSH
|
|
|
|
|
Well, i;m not familiar with .NET but in CV++ 6 you should define:
<br />
STDAPI DllRegisterServer(void)<br />
{<br />
}<br />
<br />
STDAPI DllUnregisterServer(void)<br />
{<br />
}<br />
and in the project def file add the following 2 lines:
<br />
EXPORTS<br />
DllRegisterServer @1 PRIVATE<br />
DllUnregisterServer @2 PRIVATE<br />
|
|
|
|
|
Why do you need to register it?
Is it a COM DLL, or a regular DLL?
Steve S
|
|
|
|
|
Hi Steve,
Thanks for replying..
It is a regular DLL..
Thanx.
Regards,
ADARSH
|
|
|
|
|
As a regular DLL it doesn't need to be registered, but any application needing to use the DLL must be able to locate it. This can be done by putting it somewhere in one of the folders named the PATH environment variable, or by appending the folder it is in to the PATH.
Registration is only mandatory for COM DLLs. As a side issue, we often use the DllRegisterServer functionality to do things like allow message DLLs to 'install' themselves.
Steve S
|
|
|
|
|
Hi..
I have a Win32 Console EXE project, which has many .cpp and .h files,
I want to convert this Win32 Console EXE project from an EXE to a DLL, so that i would be able to use it as an DLL(i.e. by exporting this DLL's classses) in some other Win32 EXE application ^_^
Is anybody there to guide me how to convert an Win32 EXE into Win32 DLL, and how to export Win32 DLL's classes ?
Thanks in advance .
Regards,
ADARSH
|
|
|
|
|
I also want to know.
human
|
|
|
|
|
Hi,
Now, by researching on this conversion (exe to dll), i got to know how to convert from Win32 exe to Win32 dll.
basically, for that u have to export each and every class or function by using __declspec(dllexport), and by creating one .h header file which will contain the declerations of all the functions or classes followed by __declspec(dllexport) keyword.
any further queries are welcome!
bye,
Regards,
ADARSH
|
|
|
|
|
am new here and i am not sure what i have to do.... as for now, i really need codes about tokenizer, determining the line of the token, display it in screen and output to a file.
Thanks for the help... whatever effort would be very much appreciated if none, it's still fine...
|
|
|
|