|
|
Yep, that's what I was looking for. My problem is that I need to get the full path of the folder not just it's name and the BROWSEINFO struct doesn't have a member for that...what is the workaround here?
|
|
|
|
|
See this article and use the SelectFolder() method. And while you're there, rate Davide's article a 5. It deserves it.
/ravi
Let's put "civil" back in "civilization"
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Perfect...it earned it's 5 star rating.
|
|
|
|
|
|
I need to take the letter A (in upper case) and increment it using ++ to B,C,D,E,F, etc. How do I do this?
"I am the First, the Last, the Alpha and Omega."--Jesus Christ
|
|
|
|
|
char cExample = 'A';
cExample++;
|
|
|
|
|
Thanks! I'm a dumb noob! I was using "A" instead of 'A'
"I am the First, the Last, the Alpha and Omega."--Jesus Christ
|
|
|
|
|
i'm surprised it compiled that way.
|
|
|
|
|
I need a CArray-compatible template for the GCC compiler. I've decided to rewrite an original CArray, but received a "corrupted stack" error during destruction of the array. Please help me.
|
|
|
|
|
My worst nightmare - a port of CArray. Why not convert to std::vector instead ? Or if you must attempt this atrocity, write a class that contains a vector and presents a CArray compatible interface.
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
Hi,
I wrote a console application.In this I want to read a file and write into another file.The first number in the input file gives the number of characters in the file.
My program is as follows:
char ch;
int i=0,n,j=0;
char data[9];
FILE *fp=fopen("input.txt","r");
FILE *fp1=fopen("output.txt","w");
fscanf(fp,"%d",&n);
while(j<=n)
{
j++;
ch=fgetc(fp);
fprintf(fp1,"%c",ch);
}
fclose(fp);
fclose(fp1);
Input file on which it is not working:--
160 e‘Ünýv¾§–yDBwŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[±³~%IШƻѡ¸#M$=¹»z÷Ê‚ÉyÀ¨fza÷Aœ,®áÀŽ¥L”vP_üã†ÉÖU´¥šÁ×ÕVI¶÷kúÎEu„~:
†í•BØ
hmg¸
Output file given:--
e‘Ünýv¾§–yDBwŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[ŠÑûhŠ[±³~%IШƻѡ¸#M$=¹»zÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Please help me in finding out the problem
Karteek
|
|
|
|
|
Change
FILE *fp=fopen("input.txt","r");
FILE *fp1=fopen("output.txt","w"); to
FILE *fp=fopen("input.txt","rb");
FILE *fp1=fopen("output.txt","wb");
Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
How large should and exe file be. A have a program that's currently pushing 1.21 MB and will only get bigger. Is it better if I start putting some code into dll's for better load time at startup? What are the pro's and cons of using dll's?
|
|
|
|
|
Under Windows NT and its successors, the size of the .EXE really doesn't matter. Windows uses the processor's paging mechanism to load pages out of the .EXE as needed.
Also, unless you load your DLL's 'manually' using LoadLibrary and GetProcAddress , DLL's are loaded implicitly. This means that they essentially get loaded with you .EXE when it starts. For that reason, breaking code out into DLL's isn't going to help your startup time.
Given that your .EXE is only 1.21MB, I wouldn't bother worrying about the load time.
Software Zen: delete this;
|
|
|
|
|
For that reason, breaking code out into DLL's isn't going to help your startup time.
... unless you are using DELAYLOAD linker switch.
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
True, but given the tone of the question, I didn't think delay loading was an issue.
Software Zen: delete this;
|
|
|
|
|
This time I don't make too many iterations or so through the array. Now in the first iteration it crashes when I delete:
for(int i = 0; i < m_nCount; i++)
{
char* lowercase = new char[strlen(m_pStack[i])];
strcpy(lowercase, m_pStack[i]);
_strlwr(lowercase);
if(strcmp(keyword, lowercase) == 0)
{
ret = i;
break;
}
delete [] lowercase;
}
Rickard Andersson
Here is my card, contact me later!
UIN: 50302279
Sonork: 37318
|
|
|
|
|
You need to add room for the '\0' terminator:
char* lowercase = new char[strlen(m_pStack[i]) + 1];
Software Zen: delete this;
|
|
|
|
|
But still, that does not explain the crash where the string is deleted.
--
They're out get me, I can't escape cos' they won't let me
They won't forget me, they'll get me in their grip and sweat me
They'll wait me out, and then move in under my skin
They'll make me doubt, they're out to make me let them in
|
|
|
|
|
It's not a crash, it's an assertion failure. The CRT is telling you that you wrote past the end of the memory block that you allocated.
Here's how it works. When you new some memory, say 10 bytes, the CRT allocates more for its own use. So you'll get back something like this:
$$$$..........$$$$
^
|
returned pointer Where the dots are your 10 bytes, and the $ are the extra memory. The $ bytes are set to 0xFD. When you delete the pointer, the CRT checks the $ bytes again, and if they are not all 0xFD, it asserts to let you know that you have an underrun/overrun error in your code.
--Mike--
Ericahist [updated Oct 26] | CP SearchBar v2.0.2 | Homepage | RightClick-Encrypt | 1ClickPicGrabber
Pinky, are you pondering what I'm pondering?
I think so Brain, but if we shaved our heads, we'd look like weasels!
|
|
|
|
|
Yeah, I remember now. This buffer overrun detection is new in VS.NET isn't it?
I don't do buffer overruns...
--
They're out get me, I can't escape cos' they won't let me
They won't forget me, they'll get me in their grip and sweat me
They'll wait me out, and then move in under my skin
They'll make me doubt, they're out to make me let them in
|
|
|
|
|
|
Ah yes. 0xfefefefe, 0xcdcdcdcd IIRC correctly. I use this values every time when I debug but I never reflected on that the compiler adds padding information. Thanks for the info
--
Here we come, reach for your gun
And you better listen my friend, you see
It's been slow down below,
Aimed at you, we're the cowboys from hell
|
|
|
|
|
Jörgen Sigvardsson wrote:
I don't do buffer overruns...
Yeah yeah yeah, riiiight!
Rickard Andersson
Here is my card, contact me later!
UIN: 50302279
Sonork: 37318
|
|
|
|