trouble understanding file option and command line arguments
Hi,
I am creating a program with the C language that simulates the WC command in Unix. My program needs to count lines, bytes and words. I have not added the code to count bytes and words yet. I am having trouble understanding what the file option/flag '-' does. I can not visualize how it moves through program code. argc and argv look at one line at a time and they only look at what is on the command line. I am not sure how a program is broken up into files for WC to read.
this is the code I have so far:
Code:
/* wc simulate */
#include <stdio.h>
#include <stdlib.h>
char *pgmname; /* name of this program */
int line_count = 0;
int word_count = 0;
int byte_count = 0;
FILE *fp;
void main(argc, argv)
int argc; char *argv[];
{
int i;
char *cp;
pgmname = argv[0];
fp = stdin;
for(i = 1; i < argc; i++) {
cp = argv[i];
if(*cp == '-'){
if(*++cp == '\n'){
line_count++;}
}
else {
if(fp != stdin) {
fprintf(stderr, "%s: too many arguments\n", pgmname);
exit(1);
}
fp = fopen(cp, "r")
if(fp == NULL) {
fprintf(stderr, "%s: unable to read %s\n", pgmname, cp);
exit(1);
}
}
printf("%d\n", line_count);
}
}
Right now I have code to just count the lines. I am testing the program on a hello world program below:
Couple of questions as I try to decipher someones code who left...
What would something coded like this do?
IFS=:
grep FIELD1 /Path/Path2/Param.fle | read LBL1 LBL2 USRID EADR SUBJ SERVERNAME CFGTBL DIR
ERR=0
Param.fle contents..
FIELD1:FEI::FIELD2:dATAFIELD BATCH:MAIN SERVER......etc.. (2 Replies)
hi, can someone how to accept command line arguments as a variable using in script?
like: ./scriptname arguments
by accept arguments, I can use it in my script?
thx! (1 Reply)
Sometimes it works for me and sometimes I get this error:
syntax error on line 1, teletype
Basically I've got no idea whats going on, especially at the end of the command: bc
Any help is appreciated (1 Reply)
I have a C++ program. I read command line arguments, but if the value is not supplied, I default or make a calculation. Let's say I set it to a default value.
I can code this in several ways. Here I show three ways. What would be the best way for maintaining this code? The program will get very... (2 Replies)
What are the commands to manage ports from my command line.
Example:
Opening Ports, Closing Ports, Viewing their status, etc.
I am having a hard time finding this answer. I'm trying to trouble shoot some networking problems and it would be very helpful if I could just do this from the... (1 Reply)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
1) The script is executed in the Korn shell.
2) Name the shell script file is asg6s.
3) The asg6s file is... (7 Replies)
:wall:killall -wHi
i need to understand how the -w option works in terms of processes.
If this command is issued does it literally terminate all running processes ..wait for them all to be terminated and then return to standard output ?
Thanks in advance (2 Replies)
I am looking for help in processing of those options: '-n' or '-p'
I understand what they do and how to use them.
But, I would like to use them with more than one file (and without any shell-loop; loading the 'perl' once.)
I did try it and -n works on 2 files.
Question is:
- is it possible to... (6 Replies)
Ok, thank you. Again I'm new to the programming thing, I'm just trying to figure out what exactly it is I need to do. How would I cash out bits? Numerous questions. I'm a dreamer. AI attempts to communicate with me regularly especially through unfinished apps that I'm assuming is my responsibility... (1 Reply)
Discussion started by: C-lo
1 Replies
LEARN ABOUT HPUX
uuencode
uuencode(4) Kernel Interfaces Manual uuencode(4)NAME
uuencode - format of an encoded uuencode file
DESCRIPTION
Files output by consist of a header line followed by a number of body lines, and a trailer line. The command ignores any lines preceding
the header or following the trailer (see uuencode(1)). Lines preceding a header must not look like a header.
The header line consists of the word followed by a space, a mode (in octal), another space, and a string which specifies the name of the
remote file.
The body consists of a number of lines, each containing 62 or fewer characters (including trailing new-line). These lines consist of a
character count, followed by encoded characters, followed by a newline.
The character count is a single printing character, which represents an integer. This integer is the number of bytes in the rest of the
line, and always ranges from 0 to 63. The byte count can be determined by subtracting the equivalent octal value of an ASCII space charac-
ter (octal 40) from the character.
Groups of 3 bytes are stored in 4 characters, 6 bits per character. All are offset by a space to make the characters printable. The last
line may be shorter than the normal 45 bytes. If the size is not a multiple of 3, this fact can be determined by the value of the count on
the last line. Extra meaningless data will be included, if necessary, to make the character count a multiple of 4. The body is terminated
by a line with a count of zero. This line consists of one ASCII space.
The trailer line consists of the word on a line by itself.
SEE ALSO mail(1), uuencode(1), uucp(1).
uuencode(4)