When Created: 10/13/1996 19:26:04
Against DJGPP version: 2.00
By whom: email@example.com
Abstract: 'for' or perhaps command line problem...
I am using RHIDE, and am a slightly new coder. I was recently coping a program directly from a tutoring C book. After I ran it, it didnt run as it said it should, and I am positive that it is in correctly. The Source is as follows:
void main(int argc,char *argv)
rept <character> <# of repetitions>\n");
This program should run from the command line, with 2 arguments, a character, followed by a integer, such as:
rept * 10
It should then putchar(*) 10 times. It does not. When I used GDB, and stepped it through, the program jumped from
the for(x=0;x<r;x++) line directly to the ending parenthesis. It hopped right over the putchar() line.
The program goes from the for line to a line in another module... Here is a copy of my gdb session:
(gdb) break main
Breakpoint 1 at 0x1580: file rept.c, line 9.
(gdb) run * 10
Starting program: d:/temp/rept * 10
Breakpoint 1, main (argc=43, argv=0x52100) at rept.c:9
20 } (gdb) step
0x1b03 in __crt1_startup ()
Single stepping until exit from function __crt1_startup,
which has no line number information.
Program exited normally.
Like I said, the tutoring book I am using has the same exact source, and it is supposed to work fine... if it is just a personal error, PLEASE tell me what I did. Thanks alot.
Nick 'Drak' P.
Note added: 10/14/1996 13:45:40
By whom: firstname.lastname@example.org
I think your problem resides in the fact that the shell program you are
using is confusing the * on the command line for a wild card. In doing
so it is passing a directory listing to your program in place of the *.
Try the following with your code.
rept "*" 10
This should behave in the proper manner. It does work properly if you do
not use any special charaters when running the code. such as the following.
rept a 10
Closed on 04/13/1999 08:00:17: Usage error, not a bug.
By whom: email@example.com