Перевести с VB на С++

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Перевести с VB на С++

Сообщение d3drm » 03.09.2005 (Сб) 17:44

господа... вот с файлами С++ вообще никогда дела не имел... Как ВОТ ЭТО перевести на С++ код. Функция открывает файл (если таковой есть) и записывает в него строку лога.

Код: Выделить всё
Public Sub AddLog(sLog As String)
        Dim f As Integer
        f = FreeFile
        Open LogPath For Append As f
        Print #f, sLog
        Close f
End Sub
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 03.09.2005 (Сб) 17:48

Private Declare Function CreateFile Lib "kernel32.dll" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 03.09.2005 (Сб) 18:01

GSerg, зачем?

Выдрал навскидку кусочек

Код: Выделить всё
#include <iostream>
#include <string>

FILE *stream;

//...

void SaveTo(char *path)
{
   /* Open for write */
   if( (stream = fopen(path, "w+")) == NULL)
      cout << "The file '" << path << "' was not opened\n";
   else
      cout <<"The file '" << path << "' was opened\n";
   
   fputs("fdsewrwrwrew",stream);

   //Close stream
   if (fclose(stream))
      cout << "\nThe file " << path << " was not closed\n";
   else
      cout << "\nThe file " << path << " was closed\n";
}


d3drm, ты же помнишь, что строки по ссылке передаются?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 03.09.2005 (Сб) 18:12

пасиб, буду поглядеть!
ХЎ

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 10.09.2005 (Сб) 12:49

d3drm писал(а):...буду поглядеть!
LOL это что то новенькое! :D

А вообще, сколько в ВБ кода и сколько на С++.....бррррр :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 10.09.2005 (Сб) 14:13

_Мика_ писал(а):А вообще, сколько в ВБ кода и сколько на С++.....бррррр :D


Код: Выделить всё
void SaveTo(char *path, *LogString)
{       FILE *stream;
         stream = fopen(path, "w+");
         fputs(LogString,stream);
         fclose(stream)
}


Так меньше?
Последний раз редактировалось vvs_adm 10.09.2005 (Сб) 14:18, всего редактировалось 1 раз.
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 10.09.2005 (Сб) 14:16

vvs_adm писал(а):
_Мика_ писал(а):А вообще, сколько в ВБ кода и сколько на С++.....бррррр :D


Код: Выделить всё
void SaveTo(char *path, *LogString)
{       FILE *stream;
         stream = fopen(path, "w+")
         fputs(LogString,stream);
         fclose(stream)
}


Так меньше?

Да, но на сколько я понял, это только сохранение файла, а где Sub? :wink: :roll:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 10.09.2005 (Сб) 14:20

Это и есть функция сохранения...

Почему функция? А в C отдельного вида "процедура", как в VB и Delphi - нет. И процедуры реализуются функциями, возвращающими пустой указатель (void).
Последний раз редактировалось hCORe 10.09.2005 (Сб) 14:22, всего редактировалось 1 раз.
Моду создают модоки, а распространяют модозвоны.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 10.09.2005 (Сб) 14:21

_Мика_
Сам-то хоть понял, что спросил?
Это функция, которая равносильна функции на VB, написанной в первом топике. Надо тебе Sub, можешь добавить первой строкой
Код: Выделить всё
//Sub


P.S.: сорри, ессно процедура :)
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 10.09.2005 (Сб) 14:27

Вот это
Код: Выделить всё
Public Sub AddLog(sLog As String)
        Dim f As Integer
        f = FreeFile
        Open LogPath For Append As f
        Print #f, sLog
        Close f
End Sub

Равно вот этому?
Код: Выделить всё
void SaveTo(char *path, *LogString)
{       FILE *stream;
         stream = fopen(path, "w+")
         fputs(LogString,stream);
         fclose(stream)
}


Ну тогда да....кароче ладно....забей! :))
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 74

    TopList