473,396 Members | 2,081 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Why does this crash?

Hi all,

I'm learning C and trying to find characters in a string array. All my
efforts result in crashing programs. Can anyone see why?

#include <stdio.h>
int main()
{

char strArray[10] = {"abcdefg"};

int i;

int j = strlen(strArray);

for (i = 0; i < j; ++i)
{
char a = strArray[i];

if (a = 'c')
{

printf("%s\n", a);
return 0;
}
}

return 0;
}

Sep 24 '06 #1
30 2690
On Sun, 24 Sep 2006, Richard Heathfield wrote:
pkirk25 said:

<snip>
>char a = strArray[i];

if (a = 'c')

You mean:

if(a == 'c')
>{

printf("%s\n", a);

You probably mean:

printf("%c\n", a);

It's crashing because you're treating a, a single char, as if it were a
pointer to the first in a whole bunch of char.
... or printf("%s\n", strArray). Also, the OP was calling
strlen without a prototype (undefined behaviour).

Tak-Shing
Sep 24 '06 #2
pkirk25 wrote:
Hi all,

I'm learning C and trying to find characters in a string array. All my
efforts result in crashing programs. Can anyone see why?

#include <stdio.h>

int main()
{
char strArray[10] = {"abcdefg"};
int i;
int j = strlen(strArray);

for (i = 0; i < j; ++i)
{
char a = strArray[i];
if (a = 'c')
{
printf("%s\n", a);
It crashes here because the "%s" code requires that you
provide a matching string argument, but `a' is just a `char'
and not a string. A string is not a single `char', but an
array of `char', one of which has the value zero to mark the
string's end.

Two other points: The `if' statement doesn't do what you
probably intend (go back to your textbook and read about the
difference between the `=' and `==' operators), and you need
to #include the <string.hheader if you want to use strlen().

--
Eric Sosman
es*****@acm-dot-org.invalid

Sep 24 '06 #3
Richard Heathfield wrote:
pkirk25 said:

<snip>
>char a = strArray[i];

if (a = 'c')

You mean:

if(a == 'c')
You can avoid these problems by adapting the habit of putting the
constant first, i.e.:

if ('c' == a) ...

and the compiler will complain if you have only a single '='.

--
Some informative links:
<news:news.announce.newusers
<http://www.geocities.com/nnqweb/>
<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://www.caliburn.nl/topposting.html>
<http://www.netmeister.org/news/learn2quote.html>
<http://cfaj.freeshell.org/google/>
Sep 24 '06 #4
Many thanks all. Its allowed me to proceed ot the point where Ic an
find what I want in a string but now it crashes when I try to extract
it to another string.

I've tried several approaches here and all bomb out. Where am I going
wrong please?

#include <stdio.h>
#include <string.h>

int main(void)
{
char strLong[100] = {"Pointer to a confused guy"};
char strDst[100];

int a = 0;

for (a = 0; a < 5; ++a)
{
strcat(strDst, strLong[a]);
}
return 0;
}

Sep 24 '06 #5
pkirk25 wrote:
Hi all,

I'm learning C and trying to find characters in a string array. All my
efforts result in crashing programs. Can anyone see why?

#include <stdio.h>
#include <string.hwill be needed below.
>

int main()
int main(void) is preferred.
{

char strArray[10] = {"abcdefg"};

int i;

int j = strlen(strArray);

for (i = 0; i < j; ++i)
{
char a = strArray[i];

if (a = 'c')
Surely not an assignment. You mean 'if (a == 'c')' don't you?
{

printf("%s\n", a);
I assume you want to print the string beginning with the 'c'.
See below.
return 0;
}
}

return 0;
}
Maybe this is what you mean?

#include <stdio.h>
#include <string.h>

int main(void)
{
char strArray[10] = {"abcdefg"};
int i;
int j = strlen(strArray);
for (i = 0; i < j; ++i) {
char a = strArray[i];
if (a == 'c') {
printf("%s\n", strArray+i);
return 0;
}
}
return 0;
}

Maybe not.

--
Joe Wright
"Everything should be made as simple as possible, but not simpler."
--- Albert Einstein ---
Sep 24 '06 #6
trm
pkirk25 schrieb:
I've tried several approaches here and all bomb out. Where
am I going wrong please?

#include <stdio.h>
#include <string.h>

int main(void)
{
char strLong[100] = {"Pointer to a confused guy"};
strLong contains a string of length 25.
char strDst[100];
strDst isn't a string. Exercise: why not? How would you
make it into a string? Trick question: what does it actually
contain? Why?
>
int a = 0;

for (a = 0; a < 5; ++a)
{
strcat(strDst, strLong[a]);
This line has three problems. First, strLong[a] is not of the
appropriate type for strcat(), so this shouldn't even compile
as it is written here. Second, as mentioned above, strDst
isn't a string; using C's string functions on things that aren't
strings generally means anything at all can (and eventually
will) happen. Third, assuming the first two errors are fixed,
you appear to be trying to stuff 116 chars into a 100 char
array. I trust it is obvious why that's bad.
}
return 0;
}
Sep 24 '06 #7
pkirk25 wrote:
>
Many thanks all. Its allowed me to proceed ot the point where Ic
an find what I want in a string but now it crashes when I try to
extract it to another string.

I've tried several approaches here and all bomb out. Where am I
going wrong please?

#include <stdio.h>
#include <string.h>

int main(void)
{
char strLong[100] = {"Pointer to a confused guy"};
char strDst[100];

int a = 0;
for (a = 0; a < 5; ++a)
{
strcat(strDst, strLong[a]);
}
return 0;
}
The following fixes to avoid undefined behaviour may help.

#include <stdio.h>
#include <string.h>

int main(void)
{
char strLong[100] = {"Pointer to a confused guy"};
char strDst[100] = ""; /* <-- Nota bene */
int a = 0;

while (strlen(strDst) + strlen(&strLong[++a]) + 1 < 100) {
putchar(a + '0');
strcat(strDst, &strLong[a]);
}
puts(strDst);
return 0;
}

--
Some informative links:
<news:news.announce.newusers
<http://www.geocities.com/nnqweb/>
<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://www.caliburn.nl/topposting.html>
<http://www.netmeister.org/news/learn2quote.html>
<http://cfaj.freeshell.org/google/>
Sep 24 '06 #8
CBFalconer <cb********@yahoo.comwrites:
Richard Heathfield wrote:
>pkirk25 said:

<snip>
>>char a = strArray[i];

if (a = 'c')

You mean:

if(a == 'c')

You can avoid these problems by adapting the habit of putting the
constant first, i.e.:

if ('c' == a) ...

and the compiler will complain if you have only a single '='.
[...]

Yes, you can, but many people, including me, find that style almost
unbearably ugly.

Train yourself to read "=" as "assign" and "==" as "is equal to".

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Sep 24 '06 #9
Keith Thompson said:
CBFalconer <cb********@yahoo.comwrites:
>Richard Heathfield wrote:
>>pkirk25 said:

<snip>

char a = strArray[i];

if (a = 'c')

You mean:

if(a == 'c')

You can avoid these problems by adapting the habit of putting the
constant first, i.e.:

if ('c' == a) ...

and the compiler will complain if you have only a single '='.
[...]

Yes, you can, but many people, including me, find that style almost
unbearably ugly.
Yes, they do, but many people, including me, don't. :-)
Train yourself to read "=" as "assign" and "==" as "is equal to".
That's an excellent idea, although personally I prefer "becomes" over
"assign". Once you've done that, though, that doesn't mean you'll always
type what you meant to type. (And if you've *really* trained yourself to
read "==" as "is equal to", then surely it doesn't matter from a
readability perspective which way round they go.)

Incidentally, around 15 years ago I was debugging a production code bug
report. I spotted the following line merely in passing, as it were - it
wasn't the problem I was looking for, but it was nevertheless most
assuredly a problem:

k == 5;

(That was the exact code. I can't remember what k stood for, let alone 5.)

Unfortunately, no parallel trick of the language exists for forcing the
compiler to detect this kind of error.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 24 '06 #10
Richard Heathfield wrote:
k == 5;

(That was the exact code. I can't remember what k stood for, let alone 5.)

Unfortunately, no parallel trick of the language exists for forcing the
compiler to detect this kind of error.
I wonder if a warning about throwing away the result of a value
comparison would be very complicated to implement. Seems like something
of that nature *would* catch such a problem. But I realize there might
be something ugly about the grammar that I'm not considering.
Sep 24 '06 #11
Richard Heathfield <in*****@invalid.invalidwrites:
Keith Thompson said:
[...]
>Yes, you can, but many people, including me, find that style almost
unbearably ugly.

Yes, they do, but many people, including me, don't. :-)
Fortunately, it's possible to avoid offending either of us simply by
doing it my way. 8-)}
>Train yourself to read "=" as "assign" and "==" as "is equal to".

That's an excellent idea, although personally I prefer "becomes" over
"assign". Once you've done that, though, that doesn't mean you'll always
type what you meant to type. (And if you've *really* trained yourself to
read "==" as "is equal to", then surely it doesn't matter from a
readability perspective which way round they go.)
It does matter.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Sep 24 '06 #12
Keith Thompson posted:
Yes, you can, but many people, including me, find that style almost
unbearably ugly.

From my own experience, the vast majority of C programmers advocate it.

--

Frederick Gotham
Sep 24 '06 #13
jmcgill said:
Richard Heathfield wrote:
> k == 5;

(That was the exact code. I can't remember what k stood for, let alone
5.)

Unfortunately, no parallel trick of the language exists for forcing the
compiler to detect this kind of error.

I wonder if a warning about throwing away the result of a value
comparison would be very complicated to implement.
A good compiler will say something like "code has no effect". Unfortunately,
not all compilers are as helpful (and some that /are/, are all too often
invoked without the flags that free them from their self-imposed decision
not to be too noisy...).

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 24 '06 #14
jmcgill posted:
I wonder if a warning about throwing away the result of a value
comparison would be very complicated to implement. Seems like something
of that nature *would* catch such a problem. But I realize there might
be something ugly about the grammar that I'm not considering.

On all of the compilers I've used lately, I explicitly have to cast to void
in order to suppress a compiler warning pertaining to a non-operation. For
instance, the following would produce a warning:

int main(void)
{
5==7;
return 0;
}

, while the following wouldn't:

int main(void)
{
(void)(5==7);
return 0;
}

--

Frederick Gotham
Sep 24 '06 #15
Keith Thompson said:
Richard Heathfield <in*****@invalid.invalidwrites:
>(And if you've *really* trained yourself to
read "==" as "is equal to", then surely it doesn't matter from a
readability perspective which way round they go.)

It does matter.
If it matters because you expect the constant to be in a certain position
and are surprised when it is not, rest assured that I, too, expect the
constant to be in a certain position and am surprised when it is not. So,
for you, it matters that we write if(v == C), and for me it matters that we
write if(C == v). Oh well. If we ever end up working on the same project, I
guess we'll have to come up with a compromise - i.e. a solution that
pleases nobody but which gives everyone the satisfying feeling that the
other fellow didn't get his way either.

How about if(!(v != C)) ? :-)

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 24 '06 #16
Richard Heathfield posted:
If it matters because you expect the constant to be in a certain
position and are surprised when it is not, rest assured that I, too,
expect the constant to be in a certain position and am surprised when it
is not.

Yes, but your expectation to see the constant on the left-hand side of the
equality operator is purely out of habit and conditioning, and nothing to do
with any inherent meaning or understanding. The situation is not like a more
inherent idea like handness, whereby a baby is predisposed to favouring one
hand over another, a predisposition which can't be changed by yanking the
crayon out of their hand and placing it in the other hand. Quite the
contrary, this whole "C==v" business is simply a habit, like writing
"unsigned char" instead of "char unsigned".

The people who favour:

constant == variable

argue that it is less prone to typos. The people who argue:

variable == constant

argue little more than that you can't teach an old dog new tricks.

So, for you, it matters that we write if(v == C), and for me it
matters that we write if(C == v).

I consciously write C==v for the reason cited above. I find it superior. If
I'm reading other people's code however, I don't even pay attention to their
style, I just extract the meaning regardless of whether they write "i++"
instead of "++i", or "char unsigned" instead of "unsigned char", or "int
const *" instead of "const int*". Thankfully my knowledge of the C Standard
allows me to interpret any grammatically correct code, irrespective of
whether it differs from my own grammar usage.

Oh well. If we ever end up working on the same project, I guess we'll
have to come up with a compromise - i.e. a solution that pleases nobody
but which gives everyone the satisfying feeling that the other fellow
didn't get his way either.

I think it would be better to train your mind for dealing with variance,
whether it be hearing someone say "tomAto" instead of "toMAYto", or writing
"v==C" instead of "C==v". The reason you find the latter to be ugly is
because it's horribly alien to you and it's far removed from what you've been
accustomed to for a great deal of time. Don't mask the symptoms, kill the
infection -- there's nothing wrong with "C==v" except your attitude to it,
and so you would be better to get used to it rather than grimacing every time
you encounter it.

--

Frederick Gotham
Sep 24 '06 #17
for your first post:
#include <stdio.h>

int main()
{
/*don't need 10 char. let the compiler allocate for you*/
char strArray[] = {"abcdefg"};

int i;

int j = strlen(strArray);

for (i = 0; i < j; ++i)
{
char a = strArray[i];
if (a == 'c')/*if a = 'c' means if a gets c. a==c means
if a is c*/
{

printf("%c\n", a);/*don't want to print a
string you want to
print a character. show the correct specifier*/
getchar();
return 0;
}
}
/*don't think you really need this could have simple exited from the
firsr loop*/
getchar();
return 0;
}

for your second post:

#include <stdio.h>
#include <string.h>

int main(void)
{
char strLong[] = {"Pointer to a confused guy"};
char strDst[100];

int a;

for (a = 0; a < 5; ++a)
/*want to cat to dst the contest of strlong up to 5
characters*/
{
strcat(strDst, strLong);/*prolly want strcpy*/
/*print to strDst to make sure copied*/
}
getchar();
return 0;
}
Notice i modified some of your code. let me know if you don't see why.

Sep 25 '06 #18
bitshadow wrote:
for your first post:
#include <stdio.h>

int main()
{
/*don't need 10 char. let the compiler allocate for you*/
char strArray[] = {"abcdefg"};

int i;

int j = strlen(strArray);

for (i = 0; i < j; ++i)
{
char a = strArray[i];
if (a == 'c')/*if a = 'c' means if a gets c. a==c means
if a is c*/
{

printf("%c\n", a);/*don't want to print a
string you want to
print a character. show the correct specifier*/
getchar();
return 0;
}
}
/*don't think you really need this could have simple exited from the
firsr loop*/
getchar();
return 0;
}

for your second post:

#include <stdio.h>
#include <string.h>

int main(void)
{
char strLong[] = {"Pointer to a confused guy"};
char strDst[100];

int a;

for (a = 0; a < 5; ++a)
/*want to cat to dst the contest of strlong up to 5
characters*/
{
strcat(strDst, strLong);/*prolly want strcpy*/
/*print to strDst to make sure copied*/
}
getchar();
return 0;
}
Notice i modified some of your code. let me know if you don't see why.
I didn't write any of the stuff you attribute to me. Please be more
careful in the future.

--
Joe Wright
"Everything should be made as simple as possible, but not simpler."
--- Albert Einstein ---
Sep 25 '06 #19
Richard Heathfield wrote:
Keith Thompson said:
>CBFalconer <cb********@yahoo.comwrites:
.... snip ...
>>>
You can avoid these problems by adapting the habit of putting the
constant first, i.e.:

if ('c' == a) ...

and the compiler will complain if you have only a single '='.
[...]

Yes, you can, but many people, including me, find that style almost
unbearably ugly.

Yes, they do, but many people, including me, don't. :-)
>Train yourself to read "=" as "assign" and "==" as "is equal to".

That's an excellent idea, although personally I prefer "becomes" over
"assign". Once you've done that, though, that doesn't mean you'll always
type what you meant to type. (And if you've *really* trained yourself to
read "==" as "is equal to", then surely it doesn't matter from a
readability perspective which way round they go.)

Incidentally, around 15 years ago I was debugging a production code bug
report. I spotted the following line merely in passing, as it were - it
wasn't the problem I was looking for, but it was nevertheless most
assuredly a problem:

k == 5;

(That was the exact code. I can't remember what k stood for, let alone 5.)

Unfortunately, no parallel trick of the language exists for forcing the
compiler to detect this kind of error.
Did I really write 'adapting' in place of 'adopting' in my earlier
post? Wet noodle lashing time.

While some people may not like the look of such constructs, the
point is to advise the newbie of means to enlist compiler help.

splint or lint will pick up Richards problem case. So will other
languages.

--
Some informative links:
<news:news.announce.newusers
<http://www.geocities.com/nnqweb/>
<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://www.caliburn.nl/topposting.html>
<http://www.netmeister.org/news/learn2quote.html>
<http://cfaj.freeshell.org/google/>
Sep 25 '06 #20
Richard Heathfield wrote:
Keith Thompson said:
>Richard Heathfield <in*****@invalid.invalidwrites:
>>(And if you've *really* trained yourself to
read "==" as "is equal to", then surely it doesn't matter from
a readability perspective which way round they go.)

It does matter.

If it matters because you expect the constant to be in a certain
position and are surprised when it is not, rest assured that I,
too, expect the constant to be in a certain position and am
surprised when it is not. So, for you, it matters that we write
if(v == C), and for me it matters that we write if(C == v). Oh
well. If we ever end up working on the same project, I guess
we'll have to come up with a compromise - i.e. a solution that
pleases nobody but which gives everyone the satisfying feeling
that the other fellow didn't get his way either.

How about if(!(v != C)) ? :-)
How about a rule for the constant position for all comparison
operators. If you two end up cooperating on a project you will
just have to alternate. Flip a coin to determine if the first item
in a source file is of the (C op v) or (v op C) variety. Decide
who vets the source after modifications have been made.

This might encourage writing such expressions as:

if ((C == v) && (v == C))

to preserve parity during maintenance. :-)

--
Some informative links:
<news:news.announce.newusers
<http://www.geocities.com/nnqweb/>
<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://www.caliburn.nl/topposting.html>
<http://www.netmeister.org/news/learn2quote.html>
<http://cfaj.freeshell.org/google/>
Sep 25 '06 #21
Frederick Gotham said:
Richard Heathfield posted:
>If it matters because you expect the constant to be in a certain
position and are surprised when it is not, rest assured that I, too,
expect the constant to be in a certain position and am surprised when it
is not.


Yes, but
But nothing. Until you are ready to re-join the civilised world by
apologising for your abusive attack upon Keith Thompson, I have no interest
in anything you have to say, except insofar as it may be necessary to
correct your flawed explanations of C so that others are not misled by
them.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 25 '06 #22
On Mon, 25 Sep 2006, Richard Heathfield wrote:
Frederick Gotham said:
>Richard Heathfield posted:
>>If it matters because you expect the constant to be in a certain
position and are surprised when it is not, rest assured that I, too,
expect the constant to be in a certain position and am surprised when it
is not.


Yes, but

But nothing. Until you are ready to re-join the civilised world by
apologising for your abusive attack upon Keith Thompson, I have no interest
in anything you have to say, except insofar as it may be necessary to
correct your flawed explanations of C so that others are not misled by
them.
Have you entertained the possibilty that Frederick might
``probably'' be a ``fascist'' himself so it would be incoherent
for him to apologise for calling Keith an elite (using a
``perverse'' language where facism is synonymous with elitism)?

Caveat lector: the above is just my uneducated guess. I
apologise in advance if I got it wrong.

Tak-Shing
Sep 25 '06 #23

jmcgill wrote:
Richard Heathfield wrote:
k == 5;

(That was the exact code. I can't remember what k stood for, let alone 5.)

Unfortunately, no parallel trick of the language exists for forcing the
compiler to detect this kind of error.

I wonder if a warning about throwing away the result of a value
comparison would be very complicated to implement. Seems like something
of that nature *would* catch such a problem. But I realize there might
be something ugly about the grammar that I'm not considering.
Actually, good compilers do give a warning when asked to. Some code may
rely on this compiler behavior for macros such as:

#define UNIMPLEMENTED_STUB 0

Enable the warning to get warnings in all your unimplemented stubs.

Regards,
Bart.

Sep 25 '06 #24
Richard Heathfield posted:
But nothing.

Oh, how assertive -- I'm compelled to obey you.

Until you are ready to re-join the civilised world by apologising for
your abusive attack upon Keith Thompson, I have no interest in anything
you have to say, except insofar as it may be necessary to correct your
flawed explanations of C so that others are not misled by them.

Do me a favour and add me to your bozo bin, bonehead. Why you feel you must
get a room with Keith on account of his inability to defend his fascist
attitudes is your own business. Your defense of his fascist attitudes is also
fascist, might I add.

To whom it may concern: Add me to your bozo bin if you don't want to
communicate with me, it will garner a more pleasant experience for both of
us.

--

Frederick Gotham
Sep 25 '06 #25
Frederick Gotham wrote:
Richard Heathfield posted:
>But nothing.

Oh, how assertive -- I'm compelled to obey you.
>Until you are ready to re-join the civilised world by apologising for
your abusive attack upon Keith Thompson, I have no interest in anything
you have to say, except insofar as it may be necessary to correct your
flawed explanations of C so that others are not misled by them.
Well, this *is* holy war territory.
>
Do me a favour and add me to your bozo bin, bonehead. Why you feel you must
get a room with Keith on account of his inability to defend his fascist
attitudes is your own business. Your defense of his fascist attitudes is also
fascist, might I add.
"Guilt by Association"?

Sounds pretty conservative and authoritarian to me ;)
Sep 25 '06 #26
Frederick Gotham wrote:
Richard Heathfield posted:
.... snip ...
>
>Until you are ready to re-join the civilised world by apologising
for your abusive attack upon Keith Thompson, I have no interest in
anything you have to say, except insofar as it may be necessary to
correct your flawed explanations of C so that others are not
misled by them.

Do me a favour and add me to your bozo bin, bonehead. Why you feel
you must get a room with Keith on account of his inability to
defend his fascist attitudes is your own business. Your defense of
his fascist attitudes is also fascist, might I add.

To whom it may concern: Add me to your bozo bin if you don't want
to communicate with me, it will garner a more pleasant experience
for both of us.
You now owe abject apologies to both Keith and Richard, and I have
joined them in ignoring you.

--
Some informative links:
<news:news.announce.newusers
<http://www.geocities.com/nnqweb/>
<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://www.caliburn.nl/topposting.html>
<http://www.netmeister.org/news/learn2quote.html>
<http://cfaj.freeshell.org/google/>
Sep 25 '06 #27
CBFalconer posted:
You now owe abject apologies to both Keith and Richard,

I'm glad to see you are not torn between two sides.

and I have joined them in ignoring you.

Thank you, the situation is progressing.

--

Frederick Gotham
Sep 25 '06 #28
Frederick Gotham said:
Richard Heathfield posted:
>But nothing.


Oh, how assertive -- I'm compelled to obey you.
No, you're not. You have the opportunity to listen to good advice, but also
the freedom to reject it. That's a vital part of living in a free society.
>Until you are ready to re-join the civilised world by apologising for
your abusive attack upon Keith Thompson, I have no interest in anything
you have to say, except insofar as it may be necessary to correct your
flawed explanations of C so that others are not misled by them.

Do me a favour and add me to your bozo bin, bonehead.
I don't see why I owe you any favours. If I could trust your competence in
C, however, I would do precisely what you suggest. But I can't, so I won't.
Why you feel you
must get a room with Keith on account of his inability to defend his
fascist attitudes is your own business.
That's called "begging the question". We have no evidence that Keith is a
Fascist, and plenty of evidence to the contrary.
Your defense of his fascist
attitudes is also fascist, might I add.
You're begging the question again. And no, I'm not defending any attitude of
Keith's. Learn to read for comprehension. What I'm doing is suggesting you
apologise to him for branding him a Fascist. And now you owe *two*
apologies.
To whom it may concern: Add me to your bozo bin if you don't want to
communicate with me, it will garner a more pleasant experience for both of
us.
It would be far better for you to bite the bullet and apologise for your
behaviour, just as Keith rightly apologised to *you* after *he* made an
incorrect statement about you - an apology that *you* rightly demanded. The
word "hypocrisy" springs to mind.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 25 '06 #29
Richard Heathfield <in*****@invalid.invalidwrites:
Why you feel you
must get a room with Keith on account of his inability to defend his
fascist attitudes is your own business.

That's called "begging the question". We have no evidence that Keith is a
Fascist, and plenty of evidence to the contrary.
Ye gods and little fishes, someone on Usenet who knows what "begging
the question" actually means.

Charlton
Sep 25 '06 #30
Joe Wright <jo********@comcast.netwrote:
I didn't write any of the stuff you attribute to me. Please be more
careful in the future.
AFAICT, OP didn't attribute anything to anyone, which was the real
problem. The fact that the Google interface makes it very easy for a
poster unaware of the capabilities of a real, threaded newsreader to
wreak havoc with such a newsreader is yet another reason to hate the
Google interface.

--
C. Benson Manica | I *should* know what I'm talking about - if I
cbmanica(at)gmail.com | don't, I need to know. Flames welcome.
Sep 26 '06 #31

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Eric Brunel | last post by:
Hi all, I was creating a Tkinter widget in the style of the reversed tabs below Excel worksheets and I stepped in a serious problem: the code I made makes python crash with a seg fault, bus...
6
by: Andrew Thompson | last post by:
My brother was saying his friend running IE4 (apparently he's a stubborn techno-geek) has 'severe troubles' with the site I am designing at http://www.lensescapes.com/ The site has been changed...
0
by: roni | last post by:
hi. i have application written in vb.net + managed c++ dll that call also to unmanaged c++ function. the application crash. i open the dump file of the crash with WinDbg and that's is the...
15
by: greenflame | last post by:
First of all I only have IE for testing. Ok. I have a script that is supposed to show, not evaluate, the indefinite integral of something. When I run the script it just craches IE. I have tried...
10
by: xixi | last post by:
i have db2 udb v8.1 on windows 64 bit 2003 server, after db2 server start , i found this in the db2diag.log, is this error? 2004-05-05-15.28.30.780000 Instance:DB2 Node:000...
8
by: Adam Louis | last post by:
I would like help resolving this problem. I'm a novice who's been hired to query a hospital database and extract useful information, available to me only in a dynamically generated, downloadable...
10
by: shiry | last post by:
Hi, I need to do some important cleanup before my console application exists. I used the console ctrl event. This is working well and it fires for all cases, including the CTRL_CLOSE_EVENT (if I...
6
by: junw2000 | last post by:
Below is a simple code: #include <iostream> class base{ public: base(): i(11){std::cout<<"base constructor"<<'\n';} virtual void f() = 0; virtual ~base(){ std::cout<<"base...
34
by: NewToCPP | last post by:
Hi, Why does a C/C++ programs crash? When there is access to a null pointer or some thing like that programs crash, but why do they crash? Thanks.
12
by: benjamin.krulewitch | last post by:
I'm debugging an issue with a C program that causes the computer to crash, and I'm attempting to log information immediately before the crash occurs. I us my BKprintLog function (see below) to...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.