Задать вопрос
@Lisik

Как правильно считать файл при компиляции?

При компиляции проекта программа не считывает файл "text.txt", хотя путь указан верный. Всегда проходит вариант if (!fin). Как исправить?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
	string str;
	cout << "Vvedite slovo" << endl;
	cin >> str;

	ifstream fin("D:\\Program files\\VisualStudio\\Projects\\Dliya DZ\\Debug\\text.txt");
	if (!fin) {
		cout << "Fail";
		system("pause");
		return 0;
	}
...
  • Вопрос задан
  • 124 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
myjcom
@myjcom Куратор тега C++
При компиляции
уже при выполнении

Относительно папки проекта (не солюшена) ->
ifstream ifs("debug/text.txt");
или
ifstream ifs("debug\\text.txt");
как больше нравится.

или поместите text.txt непосредственно в папку проекта, тогда
ifstream ifs("text.txt");
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
fzfx
@fzfx
18,5 дм
думаю, что следует либо переименовать файл таким образом, чтобы в полном имени файла не было пробела, либо добавить в строку обрамляющие двойные кавычки (не забыв их экранировать).
Ответ написан
Комментировать
Попробовал у себя: находит и через пробелы и такие слэши - "\\".
Вывод один - у тебя путь неправильный. Я в таких случаях использую в Total Commander кнопку "копировать в буфер имена с путями" или через свойства файла собрать "Расположение"+"Имя файла". Где-то влезла русская х вместо латинского икса, и всё, путь неправильный.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы