Проблемы с чтением файла с C++ в коде vs, не уверен, связано ли это с тем, что я работаю в Linux

Я пытаюсь прочитать содержимое файла на C++, но когда я запускаю программу, она продолжает терпеть неудачу. Не уверен, что это потому, что я использую Ubuntu Linux.

Код ниже: кажется достаточно простым, но по какой-то причине файл никогда не открывается и продолжает давать сбой.

  // This program reads data from a file.
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
   // Create a text string, which is used to output the text file
string myText;

// Read from the text file
ifstream MyReadFile;
MyReadFile.open("nums");

if (!MyReadFile){
  cout << "Failed" << endl;
}
else 

// Use a while loop together with the getline() function to read the file line by line
  while (getline (MyReadFile, myText)) {
  // Output the text from the file
    cout << myText;
  }

// Close the file
MyReadFile.close(); 
}

Ваша строка должна включать полный каталог плюс тип расширения файла. Например, в Linux это может быть «/home/user/files/nums.txt».

Valdez 12.07.2024 20:10

Ваш файл действительно имеет точное имя nums без расширения? Это в текущем рабочем каталоге? В VSCode этот каталог, вероятно, совпадает с каталогом исполняемого файла и вашего кода.

drescherjm 12.07.2024 22:38

Изображение вашего кода бесполезно. Изображение папки может помочь решить проблему.

drescherjm 12.07.2024 22:39

показывать полупрозрачный код поверх других вещей не очень полезно при чтении. А если использовать темно-фиолетовый цвет на темно-сером, то его будет трудно читать.

rioV8 13.07.2024 10:28
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш файл не будет открыт, поскольку вам не указан полный путь к нему и расширение. Например, если ваш файл находится в вашем «домашнем» каталоге, вам следует написать

MyReadFile.open("/home/nums.txt");

Вот еще один ответ от переполнения стека: Как открыть файл на C++?

Обратите внимание, что домашним каталогом пользователя будет /home/<имя пользователя>. Ваш обычный пользователь не будет иметь разрешения на запись в /home.

user4581301 12.07.2024 20:26

нет необходимости указывать абсолютный путь, достаточно относительного пути, гораздо лучше использовать путь к файлу в качестве аргумента программы

rioV8 13.07.2024 10:30

Другие вопросы по теме