pastebin
| #1 paste tool since 2002
create new paste
tools
api
archive
real-time
faq
pastebin
Follow @pastebin
create new paste
trending pastes
sign up
login
my settings
my profile
My Pastes
Public Pastes
Untitled
2 sec ago
Untitled
2 sec ago
Untitled
2 sec ago
Untitled
C++ | 6 sec ago
Untitled
6 sec ago
Untitled
9 sec ago
WATCH THE VOW MOVIE LIV...
3 min ago
Untitled
22 sec ago
Layout Width
Share Pastebin
JJ
By: a guest | Feb 9th, 2010 | Syntax:
C
| Size: 4.13 KB | Hits: 24 | Expires: Never
Download
|
Raw
|
Embed
|
Report abuse
This paste has a previous version,
view the difference
.
#include <fstream>
#include <iostream>
#include <sys/types.h>
#include <sys/wait.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int
main
(
int
argc
,
char
*
argv
[
]
)
{
pid_t p1
;
pid_t p2
;
pid_t p3
;
int
pid
[
3
]
;
//char fArray1;
//char fArray2;
//char fArray3;
if
(
argc
!=
4
)
// argc should be 2 for correct execution
{
printf
(
"please enter 4 arguments
\n
"
)
;
printf
(
"Ex: a.out file1 file2 file3
\n
"
)
;
exit
(
0
)
;
}
p1
=
fork
(
)
;
if
(
p1
==
0
)
{
char
chArray
[
51
]
=
{
'a'
,
'A'
,
'b'
,
'B'
,
'c'
,
'C'
,
'd'
,
'D'
,
'd'
,
'e'
,
'E'
,
'f'
,
'F'
,
'g'
,
'G'
,
'h'
,
'H'
,
'i'
,
'I'
,
'j'
,
'J'
,
'k'
,
'K'
,
'l'
,
'L'
,
'm'
,
'M'
,
'o'
,
'O'
,
'p'
,
'P'
,
'q'
,
'Q'
,
'r'
,
'R'
,
's'
,
'S'
,
't'
,
'T'
,
'u'
,
'U'
,
'v'
,
'V'
,
'w'
,
'W'
,
'x'
,
'X'
,
'y'
,
'Y'
,
'z'
,
'Z'
}
;
int
countArray
[
51
]
;
FILE
*
file1
=
fopen
(
argv
[
1
]
,
"r"
)
;
char
fArray1
;
for
(
int
i
=
0
;
i
<
51
;
i
++
)
countArray
[
i
]
=
0
;
if
(
file1
==
NULL
)
{
printf
(
"Cannot open file.
\n
"
)
;
exit
(
1
)
;
}
else
{
printf
(
"File1 opened successfully.
\n
"
)
;
do
{
fArray1
=
fgetc
(
file1
)
;
for
(
int
i
=
0
;
i
<
sizeof
(
chArray
)
;
i
++
)
{
if
(
chArray
[
i
]
==
fArray1
)
{
countArray
[
i
]
+=
1
;
}
}
}
while
(
fArray1
!=
EOF
)
;
{
fclose
(
file1
)
;
}
//printf("Number of characters in %s is %d", argv[1]);
for
(
int
j
=
0
;
j
<
sizeof
(
chArray
)
;
j
++
)
{
printf
(
"File1 contains %c"
,
chArray
[
j
]
)
;
printf
(
" %d
\n
"
,
countArray
[
j
]
)
;
printf
(
"
\n
"
)
;
}
fclose
(
file1
)
;
}
exit
(
0
)
;
}
else
{
pid
[
0
]
=
p1
;
p2
=
fork
(
)
;
if
(
p2
==
0
)
{
char
chArray2
[
51
]
=
{
'a'
,
'A'
,
'b'
,
'B'
,
'c'
,
'C'
,
'd'
,
'D'
,
'd'
,
'e'
,
'E'
,
'f'
,
'F'
,
'g'
,
'G'
,
'h'
,
'H'
,
'i'
,
'I'
,
'j'
,
'J'
,
'k'
,
'K'
,
'l'
,
'L'
,
'm'
,
'M'
,
'o'
,
'O'
,
'p'
,
'P'
,
'q'
,
'Q'
,
'r'
,
'R'
,
's'
,
'S'
,
't'
,
'T'
,
'u'
,
'U'
,
'v'
,
'V'
,
'w'
,
'W'
,
'x'
,
'X'
,
'y'
,
'Y'
,
'z'
,
'Z'
}
;
int
countArray2
[
51
]
;
FILE
*
file2
=
fopen
(
argv
[
2
]
,
"r"
)
;
char
fArray2
;
for
(
int
i
=
0
;
i
<
51
;
i
++
)
countArray2
[
i
]
=
0
;
if
(
file2
==
NULL
)
{
printf
(
"Cannot open file2.
\n
"
)
;
exit
(
1
)
;
}
else
{
printf
(
"File2 opened successfully.
\n
"
)
;
do
{
fArray2
=
fgetc
(
file2
)
;
for
(
int
i
=
0
;
i
<
sizeof
(
chArray2
)
;
i
++
)
{
if
(
chArray2
[
i
]
==
fArray2
)
{
countArray2
[
i
]
+=
1
;
}
}
}
while
(
fArray2
!=
EOF
)
;
{
fclose
(
file2
)
;
}
}
for
(
int
j
=
0
;
j
<
sizeof
(
chArray2
)
;
j
++
)
{
printf
(
"File2 contains %c"
,
chArray2
[
j
]
)
;
printf
(
" %d
\n
"
,
countArray2
[
j
]
)
;
printf
(
"
\n
"
)
;
}
fclose
(
file2
)
;
}
exit
(
0
)
;
}
else
{
pid
[
1
]
=
p2
;
p3
=
fork
(
)
;
if
(
p3
==
0
)
{
char
chArray3
[
51
]
=
{
'a'
,
'A'
,
'b'
,
'B'
,
'c'
,
'C'
,
'd'
,
'D'
,
'd'
,
'e'
,
'E'
,
'f'
,
'F'
,
'g'
,
'G'
,
'h'
,
'H'
,
'i'
,
'I'
,
'j'
,
'J'
,
'k'
,
'K'
,
'l'
,
'L'
,
'm'
,
'M'
,
'o'
,
'O'
,
'p'
,
'P'
,
'q'
,
'Q'
,
'r'
,
'R'
,
's'
,
'S'
,
't'
,
'T'
,
'u'
,
'U'
,
'v'
,
'V'
,
'w'
,
'W'
,
'x'
,
'X'
,
'y'
,
'Y'
,
'z'
,
'Z'
}
;
int
countArray3
[
51
]
;
FILE
*
file3
=
fopen
(
argv
[
3
]
,
"r"
)
;
char
fArray3
;
for
(
int
i
=
0
;
i
<
51
;
i
++
)
countArray3
[
i
]
=
0
;
if
(
file3
==
NULL
)
{
printf
(
"Cannot open file3.
\n
"
)
;
exit
(
1
)
;
}
else
{
printf
(
"File3 opened successfully.
\n
"
)
;
do
{
fArray3
=
fgetc
(
file3
)
;
for
(
int
i
=
0
;
i
<
sizeof
(
chArray3
)
;
i
++
)
{
if
(
chArray3
[
i
]
==
fArray3
)
{
countArray3
[
i
]
+=
1
;
}
}
}
while
(
fArray3
!=
EOF
)
;
{
fclose
(
file3
)
;
}
for
(
int
j
=
0
;
j
<
sizeof
(
chArray3
)
;
j
++
)
{
printf
(
"File3 contains %c"
,
chArray3
[
j
]
)
;
printf
(
" %d
\n
"
,
countArray3
[
j
]
)
;
printf
(
"
\n
"
)
;
}
fclose
(
file3
)
;
}
exit
(
0
)
;
}
else
{
pid
[
2
]
=
p3
;
}
}
}
waitpid
(
pid
[
0
]
,
NULL
,
0
)
;
waitpid
(
pid
[
1
]
,
NULL
,
0
)
;
waitpid
(
pid
[
2
]
,
NULL
,
0
)
;
return
(
0
)
;
}
create new paste
|
create new version of this paste
RAW Paste Data
#include <fstream> #include <iostream> #include <sys/types.h> #include <sys/wait.h> #include <string.h> #include <stdlib.h> #include <stdio.h> int main (int argc, char *argv[]) { pid_t p1; pid_t p2; pid_t p3; int pid[3]; //char fArray1; //char fArray2; //char fArray3; if ( argc != 4) // argc should be 2 for correct execution { printf("please enter 4 arguments\n"); printf("Ex: a.out file1 file2 file3\n"); exit(0); } p1=fork(); if(p1==0) { char chArray[51] = {'a','A','b','B','c','C', 'd', 'D', 'd', 'e', 'E', 'f', 'F','g', 'G', 'h', 'H', 'i','I','j','J', 'k', 'K', 'l', 'L', 'm', 'M', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z'} ; int countArray[51]; FILE *file1=fopen(argv[1], "r"); char fArray1; for(int i=0;i<51;i++) countArray[i]=0; if(file1 == NULL) { printf("Cannot open file.\n"); exit(1); } else { printf("File1 opened successfully.\n"); do { fArray1 = fgetc(file1); for(int i=0; i< sizeof(chArray); i++) { if(chArray[i] == fArray1) { countArray[i]+=1; } } }while(fArray1 != EOF); { fclose (file1); } //printf("Number of characters in %s is %d", argv[1]); for(int j=0; j< sizeof(chArray); j++) { printf("File1 contains %c", chArray[j]); printf(" %d\n", countArray[j]); printf("\n"); } fclose(file1); } exit(0); } else { pid[0]=p1; p2=fork(); if(p2 == 0) { char chArray2[51] = {'a','A','b','B','c','C', 'd', 'D', 'd', 'e', 'E', 'f', 'F','g', 'G', 'h', 'H', 'i','I','j','J', 'k', 'K', 'l', 'L', 'm', 'M', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z'} ; int countArray2[51]; FILE *file2=fopen(argv[2], "r"); char fArray2; for(int i=0;i<51;i++) countArray2[i]=0; if(file2 == NULL) { printf("Cannot open file2.\n"); exit(1); } else { printf("File2 opened successfully.\n"); do { fArray2 = fgetc(file2); for(int i=0; i< sizeof(chArray2); i++) { if(chArray2[i] == fArray2) { countArray2[i]+=1; } } }while(fArray2 != EOF); { fclose (file2); } } for(int j=0; j< sizeof(chArray2); j++) { printf("File2 contains %c", chArray2[j]); printf(" %d\n", countArray2[j]); printf("\n"); } fclose(file2); } exit(0); } else { pid[1]=p2; p3=fork(); if(p3 == 0) { char chArray3[51] = {'a','A','b','B','c','C', 'd', 'D', 'd', 'e', 'E', 'f', 'F','g', 'G', 'h', 'H', 'i','I','j','J', 'k', 'K', 'l', 'L', 'm', 'M', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z'} ; int countArray3[51]; FILE *file3=fopen(argv[3], "r"); char fArray3; for(int i=0;i<51;i++) countArray3[i]=0; if(file3 == NULL) { printf("Cannot open file3.\n"); exit(1); } else { printf("File3 opened successfully.\n"); do { fArray3 = fgetc(file3); for(int i=0; i< sizeof(chArray3); i++) { if(chArray3[i] == fArray3) { countArray3[i]+=1; } } }while(fArray3 != EOF); { fclose (file3); } for(int j=0; j<sizeof(chArray3); j++) { printf("File3 contains %c", chArray3[j]); printf(" %d\n", countArray3[j]); printf("\n"); } fclose(file3); } exit(0); } else { pid[2]=p3; } } } waitpid(pid[0], NULL, 0); waitpid(pid[1], NULL, 0); waitpid(pid[2], NULL, 0); return(0); }