• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Вопрос по созданию и чтению файла

  • Автор темы Artur1987
  • Дата начала
A

Artur1987

Мне нужно чтобы после запуска программы создавался и сразу открывался текстовый файл. Вот в конструкторе CView я прописал:

CPushAraII_26aView::CPushAraII_26aView()
{
// TODO: add construction code here

file.Open((LPCSTR)"Bloknot.txt",CFile::modeCreate|CFile::modeRead,NULL);

}

Файл Bloknot.txt создаётся, но почему-то не открывается , хотя я написал , чтобы он открывался для чтения. Что не так,подскажите, плз :)
 
G

grigsoft

Дай угадаю, ты хочешь чтобы он в ноутпаде открылся??
 
A

Artur1987

ну чтобы он просто открылся как обычный текстовый файл. мне пока хотя бы это сделать..
 
G

grigsoft

:) Переформулирую - как ты узнал что он не открылся?
 
A

Artur1987

потому что не открылся блокнот с именем моего файла. А он разве не так должен открываться? То есть файл ведь должен открыться с помощью блокнота, т.к. он текстовый
 
G

grigsoft

гм. На самом деле ты пытаешься открыть файл чтобы работать с ним из программы. Попробуй поставить задачу по другому - запустить нотепад и передать ему твой файл (CreateProcess). Или запустить связанное с файлом приложение - ShellExecute.
 
E

European

<!--QuoteBegin-grigsoft+14:04:2007, 13:28 -->
<span class="vbquote">(grigsoft @ 14:04:2007, 13:28 )</span><!--QuoteEBegin-->Дай угадаю, ты хочешь чтобы он в ноутпаде открылся??
[snapback]62426" rel="nofollow" target="_blank[/snapback]​
[/quote]
+1
 
P

progstone

Если открывать файл в проге для чтения записи файликов то это
CreateFile CloseHandle
а если для блокнота то по ShellExecute("notepad.exe C:\\1.txt"
 
V

Volkogriz

Доброе время суток!!! :)
Я навичёк!
Может вопрос не втему не ругайтесь!!! :(
Памагите разобраться плиз с такой проблемкой!!!
Пытаюсь написать приложение типа Avtorun!!!
Вопрос как как запустить приложение из к примеру текст файла!!!
Например я в файле пропмсую:
[Button1]
1/2/Setup.exe
но и естественно при нажатии на Button1 запускался Setup.exe
За рание благадарю!!!
С уважением Volkogriz!!! :(
 
G

grigsoft

Для: Volkogriz
3 этапа:
1. Прочитать список команд из конфигурационного файла
2. Сделать полный путь из относительного
3. Запустить приложение.

Реализация какого из этапов тебе не понятна?
 
V

Volkogriz

Доброе время суток!!! :)
Если чесно все три именно работа с файлом мне и непонятно! :(
Эсли можно дайте пожалусто примерчик именно с этой ситуацыей! :D
Я уже месяца полтора сней капашусь всё вехать пытаюсь но никак не получается!
Пропорции формы цвет ну ивсе что связанно сформой проделать магу но вот с запуском приложения проблемы!
Помогите пожалуйсто буду очень блогодарен!!!
За рание благадарю!
С уважением Volkogriz! :)
 
P

progstone

1) нужно пропарсит файл.так как файл создаешь ты можно просто по поиску искать '['и до ']'.Так ты отделишь названия секций.Далее построчно т.е искать "\r\n" символ перехода на новую строку.
2)Определяешь положение своего exe файла,например с помошью GetModuleFileName,HMODULE можно взять через GetModuleHandle(NULL).Выбрасываешь оттуда название своего exe и дописываешь заначение из секции.
3)Если только запустить то мона WinExec, если командная мона по ShellExecute("notepad.exe C:\\1.txt",в msdn есть пример.
 
V

Volkogriz

Доброе время суток!!! :(
Progstone Немогли бы вы скинуть "в msdn есть пример." Примерчик самый простой в исходниках!? :)
Volkgriz@ya.ru!
Зарание блогодарен!!!
С уважением Volkogriz!!! ;)
 
S

Seva

всем привет и с наступающим! подскажите пожалуйста кто знает: как прочитать файл построчно- т. е. есть текстовый файл, в нём миллион строк, все строки разные- от 2 до 100 символов (цифры, знаки, буквы), так вот 1.как прочитать строку, например 100235? 2. как прочитать несколько строк, например, с 100000 по 20000? т. е. надо, чтобы определённые строки записывались в переменную CString... спасибо!
 
G

grigsoft

Для: Seva
Готовых функций для перехода в файле к строке N нет. Тебе придется открыть файл, вычитать из него N-1 строк самому. Либо через CStdioFile - проще и медленней, или через CFile\MMF - быстрее и сложнее в реализации.
 
D

Dimmuborgir

Для чего столько мучений, не пойму. ofstream, ifstream вам в помощь. быстро, удобно!
 
S

Seva

это если приложение консольное... тогда-да, сомнений нет
 
D

Dimmuborgir

а если не консольное, то ofstream, ifstream непойдет чтоли?) функции seekg и tellg все позволяют.
 
S

Seva

а если не консольное, то ofstream, ifstream непойдет чтоли?) функции seekg и tellg все позволяют.

интересный совет, только вот я не знаю как пользоваться этими функциями... и MSDN почему-то молчит! можно небольшой примерчик рабочего кода? желательно, применительно к данной проблеме-задаче, спасибо!
 
D

Dimmuborgir

Код:
 const char *pszfname="Data.txt";
ifstream sfile;
sfile.open(pszfname);
if (sfile.is_open())
{
sfile.seekg(3);
string sdata,sdata1;
sfile>>sdata;
sfile.seekg(5);
sfile>>sdata1;
}

считает из файла начиная с 4 байта, затем с 6. все отсчеты от первого байта. В МСДН все это есть.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!