Upload files to "lab2/src"
This commit is contained in:
parent
feee8c3c8e
commit
349b546112
|
@ -84,11 +84,17 @@ int main(int argc, char **argv)
|
||||||
cout << "[" << my_pid << "] forked right child " << children[1] << "\n";
|
cout << "[" << my_pid << "] forked right child " << children[1] << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
waitpid(children[0], NULL, 0);
|
for(int i = 0; i < 2; ++i) {
|
||||||
|
pid_t returned_pid = wait(NULL);
|
||||||
|
if(returned_pid == children[0]) {
|
||||||
cout << "[" << my_pid << "] left child returned\n";
|
cout << "[" << my_pid << "] left child returned\n";
|
||||||
waitpid(children[1], NULL, 0);
|
}
|
||||||
|
else {
|
||||||
cout << "[" << my_pid << "] right child returned\n";
|
cout << "[" << my_pid << "] right child returned\n";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
searcher_pid = fork();
|
searcher_pid = fork();
|
||||||
|
@ -96,8 +102,13 @@ int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
// Child process
|
// Child process
|
||||||
char start_str[10], end_str[10];
|
char start_str[10], end_str[10];
|
||||||
sprintf(start_str, "%d", search_start_position);
|
|
||||||
sprintf(end_str, "%d", search_end_position);
|
string temp = to_string(search_start_position);
|
||||||
|
strcpy(start_str, temp.c_str());
|
||||||
|
|
||||||
|
temp = to_string(search_end_position);
|
||||||
|
strcpy(end_str, temp.c_str());
|
||||||
|
|
||||||
char *args[] = { "./part2_searcher.out", file_to_search_in, pattern_to_search_for, start_str, end_str ,NULL};
|
char *args[] = { "./part2_searcher.out", file_to_search_in, pattern_to_search_for, start_str, end_str ,NULL};
|
||||||
execv("./part2_searcher.out", args);
|
execv("./part2_searcher.out", args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,10 +113,6 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// waitpid(children[0], NULL, 0);
|
|
||||||
// cout << "[" << my_pid << "] left child returned\n";
|
|
||||||
// waitpid(children[1], NULL, 0);
|
|
||||||
// cout << "[" << my_pid << "] right child returned\n";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -125,8 +121,13 @@ int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
// Child process
|
// Child process
|
||||||
char start_str[10], end_str[10];
|
char start_str[10], end_str[10];
|
||||||
sprintf(start_str, "%d", search_start_position);
|
|
||||||
sprintf(end_str, "%d", search_end_position);
|
string temp = to_string(search_start_position);
|
||||||
|
strcpy(start_str, temp.c_str());
|
||||||
|
|
||||||
|
temp = to_string(search_end_position);
|
||||||
|
strcpy(end_str, temp.c_str());
|
||||||
|
|
||||||
char *args[] = { "./part3_searcher.out", file_to_search_in, pattern_to_search_for, start_str, end_str ,NULL};
|
char *args[] = { "./part3_searcher.out", file_to_search_in, pattern_to_search_for, start_str, end_str ,NULL};
|
||||||
execv("./part3_searcher.out", args);
|
execv("./part3_searcher.out", args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,7 @@ int main(int argc, char **argv)
|
||||||
int len = sizeof(pattern_to_search_for);
|
int len = sizeof(pattern_to_search_for);
|
||||||
int search_start_position = atoi(argv[3]);
|
int search_start_position = atoi(argv[3]);
|
||||||
int search_end_position = atoi(argv[4]);
|
int search_end_position = atoi(argv[4]);
|
||||||
|
|
||||||
int find = 0;
|
int find = 0;
|
||||||
pid_t pid = getpid();
|
pid_t pid = getpid();
|
||||||
ifstream file(file_to_search_in, ios::binary);
|
ifstream file(file_to_search_in, ios::binary);
|
||||||
|
@ -51,6 +52,7 @@ int main(int argc, char **argv)
|
||||||
buffer.resize(len2);
|
buffer.resize(len2);
|
||||||
file.seekg(search_start_position);
|
file.seekg(search_start_position);
|
||||||
file.read(&buffer[0], len2);
|
file.read(&buffer[0], len2);
|
||||||
|
|
||||||
//TODO
|
//TODO
|
||||||
auto a = buffer.find(pattern_to_search_for);
|
auto a = buffer.find(pattern_to_search_for);
|
||||||
if(a != string::npos) {
|
if(a != string::npos) {
|
||||||
|
|
Loading…
Reference in New Issue