|
In the sample code below,
when an exception is catched,
e.what() always returns ios_base::failbit set .
Is there any built in way that can tell more detailed information about the exception?
ifstream infile;
infile.exceptions(ios_base::failbit|ios_base::badbit);
try {
infile.open(L"c:\\data1.txt");
int i,j,k;
infile>>i>>j>>k;
wcout<<i<<L' '<<j<<endl;
} catch (exception &e) {
cout<<e.what()<<endl;
return -1;
}
system
|
|
|
|
|
What if you catch ifstream::failure instead of exception?
...
} catch (ifstream::failure e) {
...
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
try {
...
} catch (ifstream::failure &e) {
cout<<e.what()<<endl;
return -1;
}
I tried this, but the same result.
system
|
|
|
|
|
//suppose data.txt is like this:
//11 22
int i,j;
ifstream infile(L"data.txt")
infile>>i>>j;
//what if data.txt is like this:
//aa bb
string a,b;
infile>>a>>b;
Any STL way to do this?
system
|
|
|
|
|
What is the most efficient way to invert the RGB portion of an ARGB without effecting the alpha byte?
For simplicity, I'm assuming the alpha byte is the most significant byte, followed by the Red, Green, and Blue (at least for the sake of discussion)
My best guess at this point is something like...
color ^= 0x00FFFFFF;
modified on Saturday, August 30, 2008 1:41 PM
|
|
|
|
|
bob16972 wrote: My best guess at this point is something like...
color ^= 0x00FFFFFF;
I don't know how you'd flip the bits more efficiently than that.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Thanks. I wasn't sure if there was a machine code or assembly guru who would pouce on that with something faster.
|
|
|
|
|
Maybe on the looping but a 32-bit XOR is a single instruction.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
In C#, when calling a GUI control from another thread, you can use Control.IsInvokeRequired and Control.Invoke.
I am looking for the C++ equivalent (when using CWnd).
Any ideas?
|
|
|
|
|
Typically UI processing is all done on one thread.
You can post messages from another thread to windows created
on the UI thread. The posted messages will be queued and processed
on the UI thread.
I've personally never needed a "IsInvokeRequired" since I generally
know if I'm writing UI thread code or not.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hi all,
I want to open network connection dialog, how can i do so?
thanks in advance
|
|
|
|
|
I'm not sure if this is what you're looking for, but you can find a windows app called rasphone.exe in C:\Windows\System32.
So, something like this might help:
ShellExecute(0, 0, _T("rasphone.exe"), 0, 0, SW_SHOW);
When you execute that, it will let you connect, disconnect, and edit properties of you network connections.
Hope it helps.
|
|
|
|
|
Have you tried SHGetFolderLocation(NULL, CSIDL_CONNECTIONS, ...) ? That would get you a PIDL that can then be used to obtain the actual path of the "Network Connections" virtual folder.
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
The control panel "dialog"?
If so...
// On Vista:
::CreateProcess(_T("C:\\Windows\\System32\\control.exe"),
_T(" /name Microsoft.NetworkAndSharingCenter"),
...
// On older OSs (I didn't test this):
::CreateProcess(_T("C:\\Windows\\System32\\control.exe"),
_T(" ncpa.cpl"),
...
And if that's the wrong dialog, never mind
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
thanks for your solution it worked for vista but the one which you gave for lower version is not working(xp i have checked)....
|
|
|
|
|
sorry its working thanks for your answer
|
|
|
|
|
Hi All,
I just want to know how to create folders using Vc++ code...
Thanks & Regards
Anitha
|
|
|
|
|
You may use the Win32 API CreateDirectory to create a new folder.
If the function succeeds, the return value will be nonzero.
Regards,
Rane
|
|
|
|
|
Im using MFC (dialog based application).
|
|
|
|
|
Hi,
You can use WIN32 API in MFC also..
The price of anything is the amount of life you exchange for it.
Thanks and Regards.
SANTHOSH V
|
|
|
|
|
Here is sample code for what Rane says:
if (::<code>CreateDirectory</code>("C:\\temp\\", NULL) == 0)
{
}
else
{
}
zafer
|
|
|
|
|
Hi,
Can anybody tell me why am I not getting Value's data in below code, in buffer 'pszRegValData' ? The surprising thing is that I am able to receive other value's data in it which has REG_SZ datatype... but the value for which it's not giving any output has REG_SZ as a datatype too.. data for it is "04/26/2007 10:20:01".. It's not giving me data in buffer(pszRegValData) for REG_BINARY too...
retCode = RegEnumValue(hkScanKey, i,
szRegValueName,
&dwRegValNameLen,
NULL,
&dwRegValType,
(LPBYTE)pszRegValData,
&dwRegValLen);
Thanks in advance.
regards,
Supriya Tonape
|
|
|
|
|
also the error code I get is '234' though I am making sure that buffer has enough size to hold the returned data...
|
|
|
|
|
Supriya Tonape wrote: also the error code I get is '234'...
Which is not an error, but means that more data is available.
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
thanks for the reply. But I am already making sure that buffer size is enough to store the data...by API 'RegQueryInfoKey()' I am getting max length of value's data.. I am executing it before 'RegEnumValue()' and allocating the buffer for value (length returned by 'RegQueryInfoKey' + 1)... still why 234 error ?
|
|
|
|