pseudo
if(file){
fp = fopen(argv[index]) //as i have
else if(no file args)
fp = stdin;
}
while(c = fgetc(fp) != EOF)
read
}
I'm basically having trouble writing/interpreting this logic.#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[]){
int optchar;
int index;
FILE *fp;
int lineCount = 1;
int nflag = 0;
int sflag = 0;
int vflag = 0;
int tflag = 0;
int c;
int endline = 1;
int newlineCount = 0;
int cntrlFlag = 0;
while((optchar = getopt (argc, argv, "nsvt")) != -1){
switch(optchar){
case 'n':
nflag = 1;
break;
case 's':
sflag = 1;
break;
case 'v':
vflag = 1;
break;
case 't':
tflag = 1;
break;
}
}
for(index = optind; index < argc; index++){
printf("hi");
fp = fopen(argv[index], "r");
printf("index = %d \n", index);
printf("arg = %s \n", argv[index]);
if(fp == NULL){
fprintf(stdout,"File %s couldn't be opened!\n", argv[index]);
fp = stdin;
}
while((c = fgetc(fp)) != EOF){
cntrlFlag = 0;
if(c != '\n'){
newlineCount = 0;
}
if(nflag && endline){
if(sflag && newlineCount < 2){
printf("%5d ", lineCount);
lineCount++;
}
if(!sflag){
printf("%5d ", lineCount);
lineCount++;
}
endline = 0;
}
if(iscntrl(c) && tflag && c != '\n'){
c += 64;
printf("^%c", c);
cntrlFlag = 1;
}
if(newlineCount < 2 && sflag && !cntrlFlag){
printf("%c", c);
}
if(!sflag && !cntrlFlag){
printf("%c", c);
}
if(c == '\n'){
endline = 1;
newlineCount++;
}
}
fclose(fp);
}
return 0;
}
Edited by Jaan, 11 August 2009 - 03:32 AM.


Sign In
Create Account

Back to top









