Skip to content
Snippets Groups Projects
Commit 649a779c authored by Eduardo Machado's avatar Eduardo Machado
Browse files

duplicado
parent 0db79da1
Branches
Tags
No related merge requests found
/* Implementado por: Eduardo Machado e Victor Perszel */
/* 2015 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <dirent.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <iostream>
#include <string>
#include <fstream>
#include <map>
#include <cstdlib>
#include <cmath>
#include <vector>
using namespace std;
int lsParameter(string parameter){
if(parameter == ".") return 1;
else if(parameter == "-a") return 2;
else if(parameter == "-l") return 3;
else if(parameter == "-la") return 4;
else return -1;
}
int lsMini(string parameter, char* currentPath){
string mostra, temp, path, lsAux, fileName;
ifstream lsFile;
path = currentPath;
/* Para dar um ls apenas, é necessário escrever "ls ." */
/* Precisamos pensar em um jeito de concertar isso. */
switch(lsParameter(parameter)){
case 1:
lsAux = "ls > " + path + "/ls.txt";
system(lsAux.c_str());
break;
case 2:
lsAux = "ls -a > " + path + "/ls.txt";
system(lsAux.c_str());
break;
case 3:
lsAux = "ls -l > " + path + "/ls.txt";
system(lsAux.c_str());
break;
case 4:
lsAux = "ls -la > " + path + "/ls.txt";
system(lsAux.c_str());
break;
case -1:
puts("Parâmetro de ls inválido.");
return -1;
break;
}
printf("\n");
// Abertura do arquivo de entrada.
fileName = path + "/ls.txt";
lsFile.open(fileName.c_str(), ios::in);
lsFile.seekg (0);
// Leitura do arquivo.
while(getline(lsFile, temp)) {
mostra += temp + "\n";
}
// Remove arquivo ls.txt
remove(fileName.c_str());
cout << "mostra:" << mostra << endl;
return 0;
}
int cdMini(string intendedDirectory){
int errorTest;
errorTest = chdir(intendedDirectory.c_str());
return errorTest;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment