|
Good thing I checked one last time before I called it a night! That fixed it! Thanks much
|
|
|
|
|
JarethAshaer wrote: Array :: Array ( )
{
int *array = 0;
}
I assume you mean this:
array = 0;
What you had does nothing. It sets a local pointer to zero which then goes out of scope.
Steve
-- modified at 3:26 Friday 5th May, 2006
|
|
|
|
|
Aye, took care of that along with Cedric's suggestion. Thanks though!
|
|
|
|
|
Yes sorry, that wasn't very clear: I said the constructors (so which means both of them ). But I agree, I should have been more explicit
|
|
|
|
|
What is the API to get the Current folder path where the application resides?
Thanks in advance.
Rinu
|
|
|
|
|
GetModuleFileName()
An advice: Read the faqs[^] first as this will answer most of your questions.
Nibu thomas
Software Developer
|
|
|
|
|
U can try
char *_getcwd( char *buffer, int maxlen );
|
|
|
|
|
You can try
char *_getcwd(
char *buffer,
int maxlen
);
This shoul solve your problem.
|
|
|
|
|
|
how to upload an image to the server and again store that in database using sockets or any other way
|
|
|
|
|
what type of serevr. Is it FTP or any other.
If you have to o upload to ftp then You need to use CFtpConnection and CInternetSession.
Cheers
"Peace of mind through Technology"
|
|
|
|
|
can anybody give the info related to USB Communication in vc++?
or any active x controls which continuosly polling for a usb device from the application, when the application is active
|
|
|
|
|
|
USB communications don't work like serial communications (RS-232). What you will need, is a device driver which is supplied with your hardware. Then, you need to communicate with your device through this device driver (you 'open the driver with CreateFile, then you get a handle and you can send commands).
So in brief, the documentation you are looking for is generally supplied with the driver.
|
|
|
|
|
i want to know the full details about BHO concept in VC++ MFC programming...
Ravi Chandran.C
|
|
|
|
|
|
unsigned int* link[200];
float* delms[200];
float* sds[200];
float* delmih[200];
float* sdih[200];
for (int i=0;i<200;i++)
{
link[i]=new unsigned int[4];
delms[i]=new float[4];
sds[i]=new float[4];
delmih[i]=new float[4];
sdih[i]=new float[4];
}
......................................codes initialized the above arrays with values
dlay_tme(delms,sds,delmih,sdih,nlinks,ndih,link,time,time_var);
//
//
delete [] *link;
delete [] *delms;
delete [] *sds;
delete [] *delmih;
delete [] *sdih;
I got the following error message, How to pass 2D dynamic array to the function ?? Please correct.
Thanks
blst_vi_procDlg.cpp
c:\blast_vib_proc_model_from_d\blst_vi_procdlg.cpp(522) : error C2664: 'void __thiscall CBlast_vib_procDlg::dlay_tme(float [][4],float [][4],float [][4],float [][4],unsigned int [],unsigned int [],unsigned int [][4],float [],float [])' : cannot
convert parameter 1 from 'float *[200]' to 'float [][4]'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
feature_display.cpp
Error executing cl.exe.
blast_vib_proc.exe - 1 error(s), 0 warning(s)
|
|
|
|
|
As an example you can allocate an array of array of ints, pass the array to a function which deletes it like this:
void initit()
{
int* stuff[100];
for (int i = 0; i < 100; i++)
{
stuff[i] = new int[5];
}
deleteit(stuff);
}
void deleteit(int* stuff[])
{
for (int i = 0; i < 100; i++)
delete [] stuff[i];
}
Haven't tested this thouroughly, but it should work. Please correct me if I'm wrong.
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
|
Recently, I try to replace #define with const in header file. However, there are concerns on, multiple const object will be created, if the header file is included in multiple cpp files.
For example:
In version.h
------------
#ifndef VERSION
#define VERSION
#include <string>
const std::string version("alpha_0-22");
#endif
In main.cpp
------------
#include <cstdio>
#include "version.h"
extern void fun();
int main()
{
printf("address of version in main=%p\n", &version);
fun();
getchar();
}
In fun.cpp
------------
#include <cstdio>
#include "version.h"
void fun()
{
printf("address of version in fun=%p\n", &version);
}
The output of the program will be:
address of version in main=00431960
address of version in fun=00431984
It seems that two copies of version string had been created if version.h is included in different cpp file scope. Now I am worry if version.h file is included in thousand of cpp files, will thousand of version string object be created?!
My alternative workaround on this is, I will let version.h declare the version string and version.cpp define the version string.
In version.h
------------
#ifndef VERSION
#define VERSION
#include <string>
extern const std::string version;
#endif
In version.cpp
--------------
#include "version.h"
const std::string version("alpha_0-22");
Again, here is my output:
address of version in main=00431960
address of version in fun=00431960
It seems that the const string just be constructed one time only.
I am not sure whether this is the correct workaround? Or my concern on multiple creation of const object is not an issues?
Please refer to http://www.parashift.com/c++-faq-lite/newbie.html#faq-29.7 on why I am using const instead of const.
Thank you for your feedback.
yccheok
|
|
|
|
|
Place:
#pragma once
at the very beginning of the header file. This instructs the compiler to only compile the header file once.
|
|
|
|
|
Hem... dun think that is the root cause of this problem. since #ifndef...#define pair had already served the purpose for #pragma once...
|
|
|
|
|
#ifndef, #define and #endif combination works to prevent redundant inclusion in the same file.
This will not work if you are including them in different .cpp files. Since in that .cpp file the macro that you are checking is not defined. Hence it creates another std::string version var.
What you have to do is create a global variable by declaring it in a header file which will be included everywhere (for example stdafx.h in VC6) like wise
extern std::string version; and then defining it in any one and only one of the .cpp files.
Now you can use the variable by including the header file where you wish to use the variable.
Do read the faqs[^] too.
Nibu thomas
Software Developer
|
|
|
|
|
anybody knw how to stop the output of the program...i mean stop the loop of this program..the program dont stop..even i tried in many way..
<code>#include <ctime>
#include <iostream>
#include <string>
#include <algorithm>
#include <fstream>
using namespace std;
time_t tmStart, tmEnd;
void DoStuff()
{
tmStart = time(0);
ifstream fin("data.txt",ios::in);
ofstream File("MyFile.txt",ios::out);
char str[14];
fin.getline(str,sizeof(str),'\n');
string line(str);
cout << str<<endl;
int i=0;
while(File.eof !=0)
{
random_shuffle(line.begin(), line.end());
File << "Randomised: " << line << endl;
File << " : " << line << endl;
File << " : " << line << endl;
File << " : " << line << endl;
File << " "<< endl;
// File << "Single Row: " << s << " " << s << " " << s <<" " << s << endl;
File << " "<< endl;
++i;
tmEnd = time(0);
cout << tmEnd-tmStart << " seconds " << endl;
}
File.close ();
fin.close ();
}
int main(int argc, char* argv[])
{
DoStuff();
cout << "finished"<<endl;
return 0;
}
</code>
|
|
|
|
|
A couple of things. Firstly eof is a function. It should be called like this: while(!File.eof()) - Does this code compile?!?. Secondly the fact that you're checking "File" for an end of file condition doesn't make logical sense: it's the output file, the input file is the one you should be checking.
Steve
|
|
|
|