Форум программистов, компьютерный форум, киберфорум
Emiliarge
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

C++/CLI (C++.NET). F.A.Q. Коллекция полезных исходников, трюков и хаков

Запись от Emiliarge размещена 17.07.2014 в 20:59
Показов 1695 Комментарии 0

[SIZE="4"]Управление файлами, папками, дисками. Пространство имен System::IO. Основные приемы

[/SIZE]

Классы для управления файлами, папками и дисками (применяемые, напр., для создания, удаления,

копирования папок и файлов, чтения и записи файлов) в основном сосредоточены в нэймспэйсе

System::IO
Его нам придеться включить в файл исходного кода своего приложения:
[CPP]using namespace System;
using namespace ..........;
using namespace System::IO;[/CPP]

[B][SIZE="3"]Файлы[/SIZE][/B]

[SPOILER=Читаем и пишем текстовый файл]

Читаем
[CPP]StreamReader ^sr = gcnew StreamReader("D:\\Demo.txt");
MessageBox::Show(sr->ReadToEnd());
sr->Close();
delete sr;[/CPP]

Пишем
[CPP]StreamWriter ^sw = gcnew StreamWriter("D:\\Demo.txt");
sw->WriteLine("Рыба");
sw->Write("Рыбка...");
sw->Write("Рыбина\nРыбешка");
sw->Close();
delete sw;[/CPP]
Внимание! Сохранять файлы в корень C: на Vista, 7, 8 можно только при запуске от имени одмина!!!

Читаем (альтернатива)
[CPP]MessageBox::Show(File::ReadAllText("D:\\Demo.txt"));[/CPP]

Пишем (альтернатива)
[CPP]File::WriteAllText("D:\\Demo.txt", "Рыба");[/CPP]

[/SPOILER]

[SPOILER=Копируем файл]

[CPP]File::Copy("D:\\Откуда.txt", "E:\\Куда.txt", true);[/CPP]
[CPP]File::Copy("D:\\Откуда.txt", "E:\\Куда.txt"); // Не копировать если такой файл уже есть

[/CPP]

[/SPOILER]

[SPOILER=Удаляем файл]

[CPP]File::Delete("D:\\Кого_удалять_будем.txt");[/CPP]

[/SPOILER]

[SPOILER=Проверяем есть ли файл]

[CPP]if (File::Exists("D:\\Кто_там_есть.txt")) {
MessageBox::Show("Есть");
} else {
MessageBox::Show("Нет");
}[/CPP]

[/SPOILER]

[B][SIZE="3"]Папки[/SIZE][/B]

[SPOILER=Создаем папку]

[CPP]Directory::CreateDirectory("D:\\Папка\\");[/CPP]

[/SPOILER]

[SPOILER=Перемещаем папку]

[CPP]Directory::Move("D:\\Откуда\\", "D:\\Куда");[/CPP]

[/SPOILER]

[SPOILER=Удаляем папку]

[CPP]Directory::Delete("D:\\Приговоренная_к_смерти\\", true);[/CPP]

Для пустой папки:
[CPP]Directory::Delete("D:\\Приговоренная_к_смерти\\");[/CPP]

[/SPOILER]

[SPOILER=Проверяем есть ли папка]

[CPP]if (Directory::Exists("D:\\Кто_там_есть\\")) {
MessageBox::Show("Есть");
} else {
MessageBox::Show("Нет");
}[/CPP]

[/SPOILER]

[B][SIZE="3"]Диски[/SIZE][/B]

[SPOILER=Узнаем буквы, метки (имена) и объем свободного места на всех дисках]

[CPP]array<DriveInfo^>^ drives = DriveInfo::GetDrives();
for each (DriveInfo^ d in drives) {
MessageBox::Show("Имя диска: " + d->Name);
if (d->IsReady) {
MessageBox::Show("Метка диска: " + d->VolumeLabel);
MessageBox::Show("Свободное место на диске: " + d->AvailableFreeSpace + " байт");
} else {
MessageBox::Show("Диск " + d->Name + " недоступен");
}
}[/CPP]

[/SPOILER]
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Video: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru