Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 20.03.2010, 18:44   #1
gforcer18
Нуждающийся
 
Аватар для gforcer18
 
Регистрация: 06.02.2010
Адрес: Ижевск, Удмуртия, РФ
Сообщений: 78
Написано 19 полезных сообщений
(для 54 пользователей)
Смех Работа с внешними файлами и папками в C++

Поомгите разобраться
Задача №1: Найти Папку Мои Документы на Windows
Что я нашел: нашел метода решения через реестр, но возникли проблемы, в частности C++ ругался, что не может найти заголовнчый файл для работы с заголовками. Пример, которым я пользовался при этом здесь
Задача №2: Узанть, существует ли файл "C://MyFile.txt".
Что я нашел по вопросу: Boost FilesSystem Library. Но так и не разобрался и не сумел запустить нормально.

Прошу помочь, показать или лучше написать пример поиска файла и (или) папки Мои Документы на C++.
Или хотя бы подскажите где искать, MSDN не предлгать.
__________________
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригинал
(Offline)
 
Ответить с цитированием
Старый 20.03.2010, 19:14   #2
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: Работа с внешними файлами и папками в C++

Примитивно проверить существование файла можно например так...

ifstream file("C://MyFile.txt");
if(file.fail())
{
MessageBoxA(0,"Нету файла!!" ,"ME",0);
exit(0);
}
file.close();
Для возврата адресов системных папок(без гемороя по словам афторов) видел где-то маленькую DLL.
Если надо загуглишь вообщем =)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
gforcer18 (21.03.2010)
Старый 21.03.2010, 08:06   #3
gforcer18
Нуждающийся
 
Аватар для gforcer18
 
Регистрация: 06.02.2010
Адрес: Ижевск, Удмуртия, РФ
Сообщений: 78
Написано 19 полезных сообщений
(для 54 пользователей)
Ответ: Работа с внешними файлами и папками в C++

покапавшись в проклятом и запутанном MSDN все-таки нашел. Вот:
#include <stdio.h>//Подключяем для работы с потоками в файлах
if (fp=fopen(("C://MyFile.txt",r)) == NULL)
;Тут что делать, если файла нет
printf("Файла нет");
;Тут остальной код
stdio.h - стандартная либа для работы с потоками
r - режим работы с файлом, r - только для чтения.
Перед применением следует объявить указатель на структуру FILE, например *fp.
__________________
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригинал
(Offline)
 
Ответить с цитированием
Старый 21.03.2010, 13:02   #4
gforcer18
Нуждающийся
 
Аватар для gforcer18
 
Регистрация: 06.02.2010
Адрес: Ижевск, Удмуртия, РФ
Сообщений: 78
Написано 19 полезных сообщений
(для 54 пользователей)
Ответ: Работа с внешними файлами и папками в C++

другая проблема.
Знаю как прочитать весь файл и все его содержимое скопировать в переменную или массив.
Вот пример:
//Подключаем для работы с файлами и потока I\O
using namespace System::IO; //Для ввода\вывода
using namespace System::Text;

	void ReadTextFromFile(String ^File,TextBox ^tb)
		{
			tb->Multiline=true;
			tb->Clear();
			tb->Lines=File::ReadAllLines(File);//Возвращает String[]
		}
Но как можно сделать, чтобы построчно читать содержимое ? методы класса по MSDN сомтрел, так и не нашел аналога команды
string-переменная=ReadLine(fileStream) из Бейсика.
Помогите пожалуйста.
__________________
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригинал
(Offline)
 
Ответить с цитированием
Старый 21.03.2010, 13:37   #5
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: Работа с внешними файлами и папками в C++

Эммм... это так сложно?

#include <fstream>
using namespace std;
...

ifstream File("C://MyFile.txt");
string Line;
getline(File,Line);//ВОТ ТУТ! читаем строку и записываем в Line

... 
КУРИИ ПООООТОКИ!!! =)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
gforcer18 (21.03.2010)
Старый 26.03.2010, 23:43   #6
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Работа с внешними файлами и папками в C++

Так как я только вкурил что ты используешь .net то вот решения для 1 поста (примеры на c#, но там все интуитивно понятно):
1) Используй перечисление Environment.SpecialFolders. Чтобы получить путь как строку пользуйся Environment.GetFolderPath(). Пример:
string Path Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
2) Используй метод File.Exists(). Пример:
if (File.Exists(@"c:\text.supertext.exe"))
{
    
Console.WriteLine("Существует!");
}
else
{
    
Console.WriteLine("Не существует!");

Только надо добавить в начало программы:
using System.IO
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
gforcer18 (28.03.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com