Usar archivo que necesita privilegios

Iniciado por NikNitro!, 8 Mayo 2014, 14:14 PM

0 Miembros y 1 Visitante están viendo este tema.

NikNitro!

Buenas. Me disponía a hacer un ejercicio que he visto por aquí pero no consigo leer el fichero.
Este es el enunciado:
 Realizar un programa que lea c:\texto.txt y proporcione las siguientes estadísticas: nº total de caracteres, nº de mayúsculas, nº de consonantes, nº de vocales y las cinco letras mas usadas

Y este es mi code:
Código (cpp) [Seleccionar]
#include <iostream> //entrada y salida por consola
#include <fstream> //entrada y salida por ficheros
#include <string> //para String
#include <stdlib.h> //para System
#include <stdio.h> //para Remove

using namespace std;

//  Realizar un programa que lea c:\texto.txt y proporcione las siguientes estadísticas: nº total de caracteres,
//    nº de mayúsculas, nº de consonantes, nº de vocales y las cinco letras mas usadas

int main() {
// Ruta del archivo
string nombreArchivo = "c:\texto.txt";

//La paso a const char* para que no se queje el compilador al abrir los ficheros
const char* nombre = nombreArchivo.c_str();

ifstream File1(nombre, ios::in); //Abrimos el fichero en modo de lectura

// Si hay error al abrir el archivo volvemos al principio
if (File1.fail()) {
cout << "Ha habido un error debido a que no se puede abrir el archivo. Por favor intentelo de nuevo.";
cout << "Pulse intro para reiniciar";
cin.get(); // NO SE PONE () TRAS EL GET????
system("cls");
main();
}
else {
// Creamos un fichero nuevo donde guardar las estadísticas
ofstream estadisticas("Estadistica.txt", ios::out);
int caracteresTotales = 0, numMayusc = 0, numConsonantes, numVocales;
int letras[27]; //Array donde guardaremos las ocurrencias de cada letra
for (int i = 0; i < 27; i++)  {
letras[i] = 0;
}

cout << letras[3];
system("pause > nul");
}



}


Estoy en Windows 7, usando una cuenta limitada (por tanto para meter el archivo en c:\ me ha pedido la pass de administrador y por eso creo que puede ser el que no consiga abrirme el archivo.

No me da error sino que me salta directo a que no lo consigue abrir (cuando resulta que el archivo está ahí)

Saludos ;)

EDITO: Ahora viendo el código GeSHi me he dado cuenta de que resalta el \t... Puede ser que lo tome como un 'comando de String' como lo es \n para salto de línea y por eso no lo encuentre?

;)

amchacon

No tienes permisos, por ello falla.

No puedes creartelo en la misma carpeta donde compiles? Asi solo tienes que introducir el nombre del archivo.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

engel lex

efectivamente el \t te está jugando una pasada.... el usuarios sin privilegios deberia poder acceder normalmente a C:\, pero \t es caracter de tabulacion..., coloca C:\\texto.txt
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

NikNitro!

Ok, en cuanto llegue a casa pruebo :p y no hay alguna forma de dejar la contraseña puesta dentro del code?

Salud