1
votes

impossible d'ouvrir le fichier dans Visual Studio

im apprendre le C ++ en utilisant Visual Studio comme ide. Je fais actuellement des flux io, mais lorsque j'essaye d'ouvrir un fichier, le programme n'ouvre pas le fichier.

voici le code -

#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include <vector>

int main()
{
    std::ifstream file;

    file.open("Text.txt");

    if (file.is_open())
    {
        std::cout << "open" << std::endl;
    }
    else
        std::cout << "not open" << std::endl;
 
}

j'obtiens la sortie comme not open .

Toute aide est la bienvenue, merci


5 commentaires

Tous les chemins de fichiers qui ne sont pas absolus (commence par une barre oblique) sont relatifs. Et ils sont relatifs au répertoire de travail actuel des programmes en cours d'exécution. Et lorsque vous exécutez votre programme à partir d'un IDE, le répertoire de travail n'est probablement pas ce que vous pensez. Vous pouvez modifier les paramètres d'exécution pour définir explicitement le répertoire de travail ou modifier votre programme pour utiliser un chemin absolu vers le fichier.


Je suis surpris qu'il n'y ait pas de réponse canonique à cela: ifstream ne trouve pas le fichier


Cela pourrait être la meilleure réponse: stackoverflow.com/questions/57281750/...


@Botje Si vous avez le temps, vous pourriez peut-être fusionner différentes sources et rédiger cette réponse canonique? :)


@Someprogrammerdude la réponse que j'ai acceptée a fonctionné pour moi.


3 Réponses :


1
votes

vous devez conserver le fichier dans le répertoire où l'exécutable est généré par défaut lors de l'utilisation de Visual Studio. il se trouve généralement dans le répertoire de votre solution sous un dossier appelé Debug / Release en fonction de votre configuration. vérifiez les paramètres du projet pour voir où l'exécutable sera généré et copiez-y le fichier.


5 commentaires

hé, a mis à jour la ligne open à ce - std::ifstream file{ "C:\Users\Kakshipth\Documents\VS\hola\Debug\test.txt" }; , qui est le chemin absolu et c'est là que mon fichier .exe est mais je reçois toujours la même sortie


Pour Visual Studio, le répertoire de travail par défaut est le répertoire racine du projet IIRC, pas l'emplacement de l'exécutable.


@ default-303 Rappelez-vous que les barres obliques inverses sont des chaînes internes spéciales et doivent être échappées par une barre oblique inverse.


@so devrais-je créer un fichier .txt dans C:\Users\Kakshipth\Documents\VS\hola puisque hola est le nom de mon projet


Voici un conseil. La réponse ci-dessus est correcte pour Visual Studio, mais si vous ne savez pas où le fichier doit être, essayez de créer le même programme, mais écrivez un fichier sans le lire. Ensuite, regardez sur votre ordinateur et voyez où ce fichier est apparu. C'est au même endroit que vous devez placer le fichier pour la lecture.



-2
votes

1) Assurez-vous que le chemin que vous avez indiqué est correct.

2) Assurez-vous que le fichier que vous essayez d'ouvrir est déjà utilisé par d'autres processus.

  1. Assurez-vous que le fichier existe avec le chemin donné et essayez en donnant le chemin complet du fichier, si cela fonctionne, puis effectuez vos ajustements.

  2. Essayez d'ouvrir le fichier manuellement et vérifiez s'il y a un problème avec le fichier.

  3. Vérifiez que votre fichier est protégé en lecture seule ou quelque chose comme ça.

  4. Essayez de travailler avec l'exemple de code ci-dessous et répondez-moi quelle erreur vous obtenez.

exemple de lecture de fichier

exemple d'écriture de fichier


3 commentaires

J'ai essayé l' file reading sample et j'obtenais cette erreur = Cannot open include file: 'stdafx.h': No such file or directory


si vous obtenez l'erreur stdafx.h 'Aucun fichier ou répertoire de ce type, c'est peut-être le problème avec l'installation de Visual Studio. Essayez de réparer votre studio visuel, puis essayez


Si vous souhaitez fournir le code source, ajoutez-le directement à la réponse et n'utilisez pas de liens externes. La réponse doit inclure toutes les informations nécessaires pour répondre à la question sans avoir besoin de suivre le lien.



-1
votes

J'ai eu un problème similaire en ouvrant le fichier csv à partir du fichier cpp et j'ai trouvé une solution en plaçant mon fichier csv dans le même dossier où mes fichiers source et en particulier le fichier cpp (à partir duquel j'essaie de l'ouvrir) sont placés.


0 commentaires