|
char szName[MAX_PATH] = {0};
|
|
|
|
|
But i am looking for details regarding SecureZeroMemory and memset or memcpy, any way thanks for your help Величие не Бога может быть недооценена.
|
|
|
|
|
I think _superman_ has already sent you a better answer which I think explains the differences. I usually initialize all arrays to zero as I posted before.
|
|
|
|
|
SecureZeroMemory may be a little slow on the x86 platform as it initializes each element of the array in a loop. But for x64 it uses an intrinsic, which will be very fast.
You could also use the C-Runtime memcpy_s function.
To initialize the array to zero at the time of creation, the reply by Rejeesh definitely works in Visual Studio.
|
|
|
|
|
Thanks for the reply.
So you mean in 64 bit processor, SecureZeroMemory will not make much change in time consumption.Величие не Бога может быть недооценена.
|
|
|
|
|
That's correct.
Intrinsics are similar to writing inline assembly instructions.
x64 does not support inline assembly and so you have to use intrinsics.
Read more about intrinsics in the following links -
Intrinsic function[^]
Compiler Intrinsics[^]
|
|
|
|
|
(i think you've got your x86 and x64 reversed here)
|
|
|
|
|
One thing others didn't point out: memset is a CRT call, and SecureZeroMemory is an API call. That's it. I don't think one would be "faster" over the other (practically) to initialize an array of size MAX_PATH .
If you had considered ZeroMemory , there are chances where the compiler can completely optimize out (remove) the call to this function when it detects that the initialised buffer isn't being used anywhere. However, SecureZeroMemory would ensure that the buffer be initialised, even if it isn't being used at all (the optimiser won't rule this call out).
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Adam Roderick J 09 wrote: Now i want to initialize szName array to 0, to aviod the unexpected behaviour.
1. You should be using the wcstombs_s() function.
2. You should use that function as documented here[^] to calculate the required size of your destination buffer, and allocating that appropriately. In your example above, if the length of your string exceeds MAX_PATH then you have an immediate memory leak.
3. Clearing the buffer to zeroes before copying the string provides no benefit.MVP 2010 - are they mad?
|
|
|
|
|
Hi,
How can I get the cluster size of any logical drive?
|
|
|
|
|
Use the API GetDiskFreeSpace([^]) Величие не Бога может быть недооценена.
|
|
|
|
|
The GetDiskFreeSpace function cannot report volume sizes that are greater than 2 gigabytes (GB). I have drive more than 2 GB.
Any other workaround....
|
|
|
|
|
Jsut try this link
[^]Величие не Бога может быть недооценена.
|
|
|
|
|
Is it possible to get the selected item of a combo box while navigating the drop list?
i.e., getting the selected items value and text?
Is there a Windows message that handles the mouse selection of each item in combo drop list?
This is when the combo box drop down is active.
|
|
|
|
|
|
Hey guys, i am having problem with displaying my text. my text file is displayed in such a way and is called test.......
Sam Worthington ... Jake SullyasZoe Saldana ... NeytiriasSigourney Weaver ... Dr. Grace AugustineasStephen Lang ... Colonel Miles QuaritchasJoel Moore ... Norm Spellman (as Joel David Moore)asGiovanni Ribisi ... Parker SelfridgeasMichelle Rodriguez ... Trudy ChaconasLaz Alonso ... Tsu'teyasWes Studi ... EytukanasCCH Pounder ... MoatasDileep Rao ... Dr. Max PatelasMatt Gerald ... Corporal Lyle WainfleetasSean Anthony Moran ... Private FikeasJason Whyte ... Cryo Vault Med TechasScott Lawrence ... Venture Star Crew Chiefmore
What i am trying to do is for the program to read "as" and then from there start a new line... thus the expected output is...
Sam Worthington ... Jake Sully
Zoe Saldana ... Neytiri
Sigourney Weaver ... Dr. Grace Augustine
Stephen Lang ... Colonel Miles Quaritch
Joel Moore ... Norm Spellman (as Joel David Moore)
.........(and so on)
This is my coding..
string templine ;
string line;
ifstream myfile ("test");
while (getline (myfile,templine) )
line.append(templine);
char str [] = line ;
char delims[] = "as";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL ) {
printf( result );
result = strtok( NULL, delims );
}
I keep getting the error saying ...
editmain.cpp.98:error: initializer fails to determine size of 'str' modified on Monday, February 8, 2010 1:41 PM
|
|
|
|
|
This is inherently flawed. You have no way to distinguish between "as" as a delimiter and "as" as 2 characters in a name.
As far as your error message, since str is an array of char, you have to specify how big it is to be. You don't.
Why are you mixing std::string and char arrays?
Since you are using std::string, I would suggest you use it and not char arrays at this point. After you have some things more figured out, you could learn how to use char arrays. They are more demanding to get right.
|
|
|
|
|
Cannot assign string object to a char array as follows:
char str [] = line;
May be you can do as follows to correctly use tokenizer function:
char* str = _strdup(line.c_str);
char delims[] = "as";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL )
{
printf( result );
result = strtok( NULL, delims );
}
free(str);
|
|
|
|
|
It still won't work; strtok() will break on any 'a' or 's'. He will need to use strstr() , or similar.MVP 2010 - are they mad?
|
|
|
|
|
That is true. I thought he needs to break on any 'a' or 's'
|
|
|
|
|
Goodness knows why anyone would choose alphabetics as separators; I am sure none of the strtok() samples around the net suggest it.MVP 2010 - are they mad?
|
|
|
|
|
Yes you are right!!! No samples around the net suggests that.
|
|
|
|
|
I am having problems with File I/O in C++. What I am trying to make is a save game function. I am using the following code.
ofstream outputFile("bin/name.txt");
ifstream inputFile;
outputFile << name;
outputFile.close();
inputFile.open("bin/name.txt");
I am using Dev-C++, and it doesn't encounter any errors. However, it doesn't create the file (name.txt) either. I am using the same code for various other variables as well.Whoever said nothing is impossible never tried to slam a revolving door.
modified on Monday, February 8, 2010 12:17 PM
|
|
|
|
|
what type of variable "name" is?
The following code generates name.txt in my project directory. and dumps the string in file.
ofstream outputFile("name.txt");
ifstream inputFile;
string name = "ABCD";
outputFile << name.c_str();
outputFile.close();
HTH
|
|
|
|
|
Hi,
I've created a custom control where I want to be able to change the colour of the control dependent on the background colour of my dialog, i.e. if the user has customised their dialog I would like to set my control to the same colour.
Is it possible to determine this colour at runtime?
Also, is there a list of predefined colours available, e.g. the default colour of a dialog, and if so where are they defined?
TIA
Tony
|
|
|
|