first commit
This commit is contained in:
commit
907f27d251
12 changed files with 245 additions and 0 deletions
18
Makefile
Normal file
18
Makefile
Normal file
|
@ -0,0 +1,18 @@
|
|||
CC=g++
|
||||
CFLAGS=-c -g -Wall
|
||||
CCFLAGS=-g -Wall
|
||||
begin : main.o begin.o args.o
|
||||
$(CC) -o begin $(CCFLAGS) main.o begin.o args.o
|
||||
|
||||
main.o: main.cxx begin.o
|
||||
$(CC) $(CFLAGS) main.cxx
|
||||
|
||||
begin.o: begin.cxx begin.hpp
|
||||
$(CC) $(CFLAGS) begin.cxx
|
||||
|
||||
args.o: args.cxx args.hpp
|
||||
$(CC) $(CFLAGS) args.cxx
|
||||
|
||||
|
||||
clean:
|
||||
rm *.o begin
|
0
README
Normal file
0
README
Normal file
65
args.cxx
Normal file
65
args.cxx
Normal file
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* args.cxx
|
||||
*
|
||||
* Copyright 2011 Micke Nordin <micke@hal>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include "args.hpp"
|
||||
using namespace std;
|
||||
|
||||
args::args(int argc, char **argv) {
|
||||
iscaseinsence = false;
|
||||
isregex = false;
|
||||
havefile = false;
|
||||
filename = "";
|
||||
int c;
|
||||
|
||||
while ((c = getopt (argc, argv, "efi:")) != -1) {
|
||||
switch (c) {
|
||||
case 'e':
|
||||
isregex = true;
|
||||
break;
|
||||
case 'f':
|
||||
filename = optarg;
|
||||
havefile = true;
|
||||
break;
|
||||
case 'i':
|
||||
iscaseinsence = true;
|
||||
break;
|
||||
case '?':
|
||||
if (optopt == 'f') {
|
||||
cerr << "Option -" << optopt << " requires an argument.\n";
|
||||
}
|
||||
else if (isprint (optopt)) {
|
||||
cerr << "Unknown option `-" << optopt << ".\n";
|
||||
}
|
||||
else {
|
||||
cerr << "Unknown option character `\\x" << optopt << ".\n";
|
||||
}
|
||||
// default:
|
||||
// abort ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void args::print() {
|
||||
cout << "Case inscensitive: " << iscaseinsence << " Regex: " << isregex << " Have a file: " << havefile << " filename: " << filename;
|
||||
}
|
41
args.hpp
Normal file
41
args.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* args.cxx
|
||||
*
|
||||
* Copyright 2011 Micke Nordin <micke@hal>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
#ifndef args_h
|
||||
#define args_h
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class args {
|
||||
public:
|
||||
bool iscaseinsence; //-i
|
||||
bool isregex; // -e
|
||||
bool havefile; // -f
|
||||
string filename; // filename
|
||||
|
||||
args(int argc, char **argv); //Konstruktor
|
||||
void print(); //Skriver ut objektet
|
||||
};
|
||||
|
||||
#endif
|
||||
|
BIN
args.hpp.gch
Normal file
BIN
args.hpp.gch
Normal file
Binary file not shown.
BIN
args.o
Normal file
BIN
args.o
Normal file
Binary file not shown.
BIN
begin
Executable file
BIN
begin
Executable file
Binary file not shown.
51
begin.cxx
Normal file
51
begin.cxx
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* begin.cxx
|
||||
*
|
||||
* Copyright 2011 Micke Nordin <micke@hal>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void begin(string needle)
|
||||
{
|
||||
string input;
|
||||
|
||||
while(cin) {
|
||||
getline(cin, input);
|
||||
if (input.find(needle) != string::npos) {
|
||||
cout << input << endl;
|
||||
while(cin) {
|
||||
getline(cin,input);
|
||||
cout << input << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
string tolower(string str) {
|
||||
for( unsigned int i = 0; i < str.length(); i++) {
|
||||
str[i] = tolower(str[i]);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
31
begin.hpp
Normal file
31
begin.hpp
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* begin.hpp
|
||||
*
|
||||
* Copyright 2011 Micke Nordin <micke@hal>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
#ifndef begin_h
|
||||
#define begin_h
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void begin(string needle);
|
||||
string tolower(string str);
|
||||
|
||||
#endif
|
BIN
begin.o
Normal file
BIN
begin.o
Normal file
Binary file not shown.
39
main.cxx
Normal file
39
main.cxx
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* main.cxx
|
||||
*
|
||||
* Copyright 2011 Micke Nordin <micke@hal>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include "begin.hpp"
|
||||
#include "args.hpp"
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
args myargs(argc, argv);
|
||||
|
||||
myargs.print();
|
||||
|
||||
if( argc == 2) {
|
||||
begin(argv[1]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
BIN
main.o
Normal file
BIN
main.o
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue