|
I assume this is a joke, because of the smiley face marking the problem line.
You will never get to the code that deletes "achdata" because of the infinite "for" loop.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
|
|
|
|
|
John R. Shaw wrote: I assume this is a joke, because of the smiley face marking the problem line.
The smiley face was unintentional - a result of for( ; ; ), with the spaces removed.
|
|
|
|
|
I should have thought of that.
Note to self: Do not answer questions before your mourning coffee.
|
|
|
|
|
John R. Shaw wrote: your mourning coffee.
There, there... dont take it to heart.
|
|
|
|
|
|
So was this a joke? If not then
this code is bad:
char *ch=new char[100];
strcat(ch,achData);
You haven't initialized ch before using strcat() on it.
You are in an endless for loop so your "if(achData)//This code will not run never" will
never get called.
|
|
|
|
|
Sorry about that....I just noticed John Shaw already answered about the endless loop.
Sorry John
|
|
|
|
|
use of Ignore HTML tags when you want to psot code
|
|
|
|
|
Im working in C++ w MFC. In my program i create a char that looks kinda like this:
char data[11] = "1101110110";
and then later in the program i have a for which reads this binary data and does certain things depending on if its a 1 or 0:
for ( short c=0; c<=10; c++ )
{
if (data[c] == 1 )
{
//do this
}
}
But it doesn't work at all, the data[c] always seems to return 0 with the if..
any ideas?
maybe theres a better way to store my binary data (which is actually a lot longer, like 64 chars) and then do things depending on 1 or 0?
thanks!
man ive gotten like loads of post errors now..
/Johannes
|
|
|
|
|
you are testing ascii values
ie.
'1' == 49
for this to work you can test
if (data[c] == 49)
or you can test
if (data[c] == '1')
Hope this helps
Artificial Intelligence is no match for Natural Stupidity
No one can understand the truth until he drinks of coffee's frothy goodness. ~Sheik Abd-al-Kadir
I can't always be wrong ... or can I?
|
|
|
|
|
if ( 1==(int)data[c])
never say die
|
|
|
|
|
i m not able to modify my posting so a better way
int i=atoi(&data[c]);<br />
if ( 1==i)
never say die
|
|
|
|
|
Johpoke wrote: if (data[c] == 1 )
{
change this to
if (data[c] == '1' )
{
}
|
|
|
|
|
Johpoke wrote: char data[11] = "1101110110";
Are you really using
data as a chars or as numbers? You can't directly compair a number to a char.
If
data is just an array of numbers and thats all its used for why not do an array of numbers then?
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
|
|
|
|
|
Ah yes of course thank you all!
/Johannes
|
|
|
|
|
Dear all,
Anyone have an idea about how to disable sound of a particular application. it may be a game exe or a swf(flash) file or any type. Is it possible ?
Using direct show filters(Overriding default filter) i can make it work with only media files. But i don't know how to prevent sound coming from an exe.
Any help is appreciated.
My project is just for study purpose.
Best Regards
krishnan
If u can Dream... U can do it
|
|
|
|
|
Hi,
I am executing an exe file using CreateProcess. Is there any mechanisam to check wheather the .exe file is already running or not .
Thanks and Regards,
Venkat
|
|
|
|
|
Do a search for "single instance" - you'll find a few articles on the subject.
|
|
|
|
|
use PROCESSENTRY32
never say die
|
|
|
|
|
Use PROCESSENTRY32 as mentioned earlier.
See this[^] article about its usage.
|
|
|
|
|
Example For You:
HANDLE hWatchDog;
CProcessMonitor mProcessMonitor;
hWatchDog = mProcessMonitor.GetHandleToProcess("WatchDog.exe");
if(hWatchDog != NULL)
{
TerminateProcess(hWatchDog,0);
}
CProcess Monitor is the class, which is implemented using PSAPI.
HANDLE CProcessMonitor::GetHandleToProcess(CString ProcessName)
{
HANDLE hProcess;
hProcess = NULL;
char szProcessName[MAX_PATH] = "unknown";
char szTargetProcessName[MAX_PATH];
strcpy(szTargetProcessName,ProcessName.GetBuffer(50));
ProcessName.ReleaseBuffer();
ULONG lCpuusage = 0;
UINT index;
//Find Total Number of Processes;
if (!EnumProcesses( mAvailableProcesses, sizeof(mAvailableProcesses), &cbNeeded ) )
return hProcess;
// Calculate how many process identifiers were returned.
cProcesses = cbNeeded / sizeof(DWORD);
if(cProcesses > 1000)
{
AfxMessageBox("There are Too Many applications Running on PC.");
}
for ( index = 0; index < cProcesses; index++ )
{
hProcess= GetProcessHandle(mAvailableProcesses[index],szTargetProcessName);
if(hProcess != NULL)
{
return hProcess;
}
}
return hProcess;
}
I think this should be enough for you....
haribabu
(Impossible to understand )
|
|
|
|
|
Use a separate thread to call CreateProcess and then a WaitXXX call.
DWORD WINAPI
_thWaitProcess(LPVOID pvParam)
{
HANDLE hProcess = ::CreateProcess( parameters_from_pvParam);
HANDLE hLeaveEvent = get_leave_event();
HANDLE Handles[2] = {0};
Handles[0] = hProcess;
Handles[1] = hLeaveEvent;
WaitForMultipleObjects(2, Handles, FALSE, INFINITE);
return 0;
}
|
|
|
|
|
I want to draw an open line which smoothly passes several (or any number of) points.
those points are set by user with mouse clicking.
do you know any formula suitable for c++ code to draw the smooth line passing all of those points?
|
|
|
|
|
includeh10 wrote: want to draw an open line which smoothly passes several (or any number of) points.
A line, or straight line, can be described as an infinitely thin, infinitely long, perfectly straight curve.
Three or more points that lie on the same line are called collinear.
So for you, if the user clicks on different points that are not collinear than it won't be possible for you to connect this points using one single line. You would need to store the points in an array (or whatever you prefer) and then draw a line betweent the consecutive points.
You could prefer a curve if you want to connect these points but a single line won't do it, unless and until the points are collinear.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|