2009-09-18 20 views
8

Sé que esta es una pregunta novato, pero he trabajado con Python antes y cuando simplemente quería acceder a un archivo .txt, por ejemplo, todo lo que tenía que hacer era asegurarse de que el archivo txt estuviera en el mismo directorio. Tengo el siguiente código C++ a continuación, pero no encuentra el archivo Numbers.txt que he guardado en mi escritorio. Todo lo que tengo en el archivo es una línea de números de tipo doble. Todo lo que quiero hacer es encontrar el promedio de todos los números en el archivo. El programa funciona bien, pero no imprime la salida correctamente. Después de verificar para ver qué se imprime en la salida simplemente imprimiendo la salida [0], descubrí que el archivo no está copiando su contenido en la matriz. ¿Podría alguien aclararme este pequeño problema o al menos señalarme en la dirección correcta para un buen tutorial?¿Dónde busca Visual Studio archivos txt al realizar operaciones de administración de archivos?

int main() { 
    cout << "Getting File Information..." << endl; 
    ifstream file; 
    char output[100]; 
    //int x; 

    file.open("Numbers.txt", ios::in); // open file 

    cout << "Opened File Successfully ****************" << endl; 
    file >> output;    // empty file contents into output 
    cout << output;    // print out contents of file 
    cout << "Should have printed out results by now" << endl; 
    //file >> x; 

    file.close(); 

    return 0; 
} 

Respuesta

6

Visual Studio establece el directorio de trabajo en YourProjectDirectory \ Debug \ Bin cuando se ejecuta en modo de depuración. Si su archivo de texto está en YourProjectDirectory, debe tener en cuenta esa diferencia.

La manera más fácil de hacerlo es incluir sus archivos de texto en el proyecto y establecer su acción de compilación (en la ventana Propiedades) al contenido.

+2

Usted está hablando de C# o VB.Net C++ no –

+2

Tal vez la respuesta necesita un poco de revisar, tengo la misma pregunta, pero no encontré el '\ Bin' subcarpeta bajo' \ Debug' en VS2015 . Afortunadamente, el segundo método todavía funciona. – Jaege

0

La ruta de trabajo es el directorio del proyecto.

+0

Al menos en VS C++ 2005 y 6.0 –

3

Si estamos hablando acerca de la ejecución del código en el depurador de Visual Studio a través de F5 o depuración/Iniciar depuración, puede establecer el directorio de trabajo de su programa a través de Nombre del proyecto >/Directorio del proyecto/< Propiedades/Configuración Depuración/Trabajo .

Coloque su archivo de texto en un directorio en algún lugar, y configure el directorio de trabajo para que apunte a ese directorio.

+1

Nunca use una ruta absoluta. Se romperá cuando se mueva a otra computadora. –

+0

La configuración del Directorio de trabajo no se almacena en el archivo de proyecto de todos modos, por lo que no es un problema. – RichieHindle

+0

Piense de esta manera, configure el directorio de trabajo en c: \ somedir y coloque los archivos de configuración, mueva el programa a otro lugar, no funcionará * correctamente * –

4

Acabo de tener el mismo problema, y ​​no encontré ninguna de esas respuestas para trabajar. Entonces recordé lo que aprendí hace mucho tiempo en OOP. Lo que tienes que hacer es tomar ese archivo de texto en tu escritorio, encontrar la carpeta del proyecto en tus proyectos de estudio visual dentro de los documentos de tu computadora y colocar el archivo de texto en esa carpeta fuera de Visual Studio. A continuación, en el estudio visual bajo archivos de origen, a la derecha click-> Agregar elemento existente -> (archivo de texto)

:)

por cierto me encontré con este tema ya que este hilo dijo que era una buena idea, y quería se actualizó por el bien de las personas que buscan en Google la misma pregunta. https://meta.stackexchange.com/questions/125965/is-bumping-old-questions-allowed

+0

Esto no tiene nada que ver con OOP. –

+0

Se bloqueará y se quemará cuando la aplicación entre en producción. – nicomp

Cuestiones relacionadas