aplicacion sobre consola de un programa en c++
Publicado por Juan (1 intervención) el 28/09/2006 21:06:13
Hola he desarrollado el sgte programa en C++
#include "stdafx.h"
#include <string>
#include <iostream>
#include <windows.h>
#include <conio.h>
int Filecounter(const std::string &refcstrRootDirectory,
const std::string &refcstrExtension)
{
int iCount = 0;
std::string strFilePath;
std::string strPattern;
std::string strExtension;
HANDLE hFile;
WIN32_FIND_DATA FileInformation;
strPattern = refcstrRootDirectory + "\\*.*";
hFile = ::FindFirstFile(strPattern.c_str(), &FileInformation);
if(hFile != INVALID_HANDLE_VALUE)
{
do
{
if(FileInformation.cFileName[0] != '.')
{
strFilePath.erase();
strFilePath = refcstrRootDirectory +
"\\" +
FileInformation.cFileName;
if(FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
}
else
{
strExtension = FileInformation.cFileName;
strExtension = strExtension.substr(strExtension.rfind(".") + 1);
if((refcstrExtension == "*") ||
(strExtension == refcstrExtension))
{
++iCount;
}
}
}
} while(::FindNextFile(hFile, &FileInformation) == TRUE);
::FindClose(hFile);
}
return iCount;
}
int main (int argc,char *argv[])
{
int i;
i = Filecounter("c:/qcall","*");
if(argc == 2)
{ std::cout << "Number of files = " << i << std::endl;
return i; }
else
{std::cout << "Uso:FileCounter <nombre de la carpeta>" << std::endl;
std::cin.get();
return -1; }
_getch();
}
Mi programa ya devuelve el numero de archivos que tiene cierta carpeta,osea ya estan resueltos los puntos 1 y 2.mi consulta es por los puntos 3,4 y 5.Que tengo que hacer?..les agradezco su ayuda.
Puntos
1.-La aplicación deberá recibir un parámetro, que será la carpeta en la cual se quiere hacer el conteo de archivos. Un ejemplo de cómo llamar a la aplicación sería:
FileCounter C:\Qcall
2.-Esto le indica a la aplicación que debe contar la cantidad de archivos que hay en la carpeta C:\QCall
3.-Si no se reciben parámetros, se escribirá un mensaje en pantalla explicando el uso; el mensaje dirá:
Uso: FileCounter <nombre de la carpeta>
4.-Resultado a devolver
El main de la aplicación deberá devolver la cantidad de archivos que contiene la carpeta recibida como parámetro.
5.- en caso de que la aplicación haya sido llamada sin parámetros, el resultado devuelto será -1
LES ESTARE ETERNEMENTE AGRADECIDO
#include "stdafx.h"
#include <string>
#include <iostream>
#include <windows.h>
#include <conio.h>
int Filecounter(const std::string &refcstrRootDirectory,
const std::string &refcstrExtension)
{
int iCount = 0;
std::string strFilePath;
std::string strPattern;
std::string strExtension;
HANDLE hFile;
WIN32_FIND_DATA FileInformation;
strPattern = refcstrRootDirectory + "\\*.*";
hFile = ::FindFirstFile(strPattern.c_str(), &FileInformation);
if(hFile != INVALID_HANDLE_VALUE)
{
do
{
if(FileInformation.cFileName[0] != '.')
{
strFilePath.erase();
strFilePath = refcstrRootDirectory +
"\\" +
FileInformation.cFileName;
if(FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
}
else
{
strExtension = FileInformation.cFileName;
strExtension = strExtension.substr(strExtension.rfind(".") + 1);
if((refcstrExtension == "*") ||
(strExtension == refcstrExtension))
{
++iCount;
}
}
}
} while(::FindNextFile(hFile, &FileInformation) == TRUE);
::FindClose(hFile);
}
return iCount;
}
int main (int argc,char *argv[])
{
int i;
i = Filecounter("c:/qcall","*");
if(argc == 2)
{ std::cout << "Number of files = " << i << std::endl;
return i; }
else
{std::cout << "Uso:FileCounter <nombre de la carpeta>" << std::endl;
std::cin.get();
return -1; }
_getch();
}
Mi programa ya devuelve el numero de archivos que tiene cierta carpeta,osea ya estan resueltos los puntos 1 y 2.mi consulta es por los puntos 3,4 y 5.Que tengo que hacer?..les agradezco su ayuda.
Puntos
1.-La aplicación deberá recibir un parámetro, que será la carpeta en la cual se quiere hacer el conteo de archivos. Un ejemplo de cómo llamar a la aplicación sería:
FileCounter C:\Qcall
2.-Esto le indica a la aplicación que debe contar la cantidad de archivos que hay en la carpeta C:\QCall
3.-Si no se reciben parámetros, se escribirá un mensaje en pantalla explicando el uso; el mensaje dirá:
Uso: FileCounter <nombre de la carpeta>
4.-Resultado a devolver
El main de la aplicación deberá devolver la cantidad de archivos que contiene la carpeta recibida como parámetro.
5.- en caso de que la aplicación haya sido llamada sin parámetros, el resultado devuelto será -1
LES ESTARE ETERNEMENTE AGRADECIDO
Valora esta pregunta


0