[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Взято из примеров boost'a.
    Функции чтения текстовых файлов.
    Code:
    #include <iostream>
    #include <fstream>
    #include <string>
    
    ///////////////////////////////////////////////////////////////////////////////
    //  Helper function reading a file into a string
    ///////////////////////////////////////////////////////////////////////////////
    inline std::string 
    read_from_file(char const* infile)
    {
        std::ifstream instream(infile);
        if (!instream.is_open()) {
            std::cerr << "Couldn't open file: " << infile << std::endl;
            exit(-1);
        }
        instream.unsetf(std::ios::skipws);      // No white space skipping!
        return std::string(std::istreambuf_iterator<char>(instream.rdbuf()),
                           std::istreambuf_iterator<char>());
    }
    Чем boost'овский вариант лучше(правильней?), чем скажем этот?
    Code:
    std::string read_from_file(char const* infile) {
      std::ifstream instream(infile);
      if (!instream.is_open()) {
        std::cerr << "Couldn't open file: " << infile << std::endl;
        exit(-1);
      }
      std::string str;
      std::getline(instream, str, '\0');
      return str;
    }
    Понятное дело там(в boost'e) что попало не пишут и раз делают так, то скорее всего так лучше(правильней?), хочется узнать из за-чего и почему.
     
    #5321 rudvil, 30 May 2010
    Last edited: 30 May 2010
  2. SHAXID

    SHAXID Elder - Старейшина

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    Подскажите, пожалуйста, как на языке паскаля записать вот эти формулы:

    y=корень квадратный(1-0,1sin^2 фи)

    y=log(5снизу)х / корень квадратный(x) - 1
     
  3. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Прочитай название темы, только внимательно!
     
  4. t4Nk

    t4Nk Elder - Старейшина

    Joined:
    23 Sep 2007
    Messages:
    70
    Likes Received:
    33
    Reputations:
    0
    rudvil, а где буст? Тут только stl вижу.
    Если заглянуть в код std::getline то поймешь, что
    примеры практически идентичные, пользуйся каким удобнее.
     
  5. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Я про другое =]
    Про то - что в своих примерах разных библиотек "boost_1_43_0/libs/libname/example/"...
    они используют эту функцию, для чтения текстовых файлов, собственно и стало непонятно и интересно, в чем их функция обыгрывает тот пример что я писал выше?
     
  6. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    Необходимо программно запустить cmd.exe и также программно выполнить в ней определенную операцию,например, CD C:\
    Как такое сделать?
     
  7. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    system( "cd dir" );
     
  8. Smapt

    Smapt Elder - Старейшина

    Joined:
    29 Jan 2008
    Messages:
    31
    Likes Received:
    32
    Reputations:
    3
    В c++builder
    есть например такой код:

    Code:
    
    TIdHTTP *IdHTTP1;
    
    void __fastcall TForm1::IdHTTP1Connected(TObject *Sender)
    {
      ///bla-bla-bla
    }
    
    
    можно ли по аналогии сделать обработку такого события для массива обьектов TIdHTTP, заданных вот так:

    Code:
    
    TIdHTTP *IdHTTP[100];
    
    
     
  9. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Можно. В цикле всем объектам присваивай один обработчик.
     
  10. Smapt

    Smapt Elder - Старейшина

    Joined:
    29 Jan 2008
    Messages:
    31
    Likes Received:
    32
    Reputations:
    3
    делаю вот так:

    Code:
    TIdHTTP * http;
    
    
    void __fastcall IdHTTPConnected(TObject *Sender)
    {
           //bla-bla-bla
    }
    
    http->OnConnected = IdHTTPConnected;
    
    
    на что оно ругается:

    E2034 Cannot convert 'void (_fastcall *)(TObject *)' to 'TNotifyEvent'

    я понимаю что не соответствие типов, но как это все "согласовать" не знаю)
     
  11. ktotikyc332

    ktotikyc332 New Member

    Joined:
    5 Jun 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    а вот у меня вопрос!!я щяс буду выглядить дибилом))я написал наипростейщуюпрогу на C++ в Microsoft Visual C++ 2008 Express Edition а как посмотреть действие программы тоесть я сделал прогу а терь её включить как?)))) :D :D :D :D :confused: :confused: я прогу взял из учебника




    Code:
    #include <iostream>  int main()  {  cout<<"Hellow, World!\n";  return 0;  }
     
  12. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Smapt, примерно так:
    PHP:
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponentOwner)
        : 
    TForm(Owner)
    {
        for(
    int i 0100; ++i)
        {
            
    http[i] = new TIdHTTP(NULL);
            
    http[i]->OnConnected IdHTTP1Connected;
        }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::IdHTTPConnected(TObject *Sender)
    {
        return;
    }
    //---------------------------------------------------------------------------
     
    1 person likes this.
  13. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,376
    Likes Received:
    1,093
    Reputations:
    356
    ф10. изучи строку меню
     
    _________________________
  14. [FREE]

    [FREE] Member

    Joined:
    1 Nov 2008
    Messages:
    0
    Likes Received:
    55
    Reputations:
    0
    ребята нужно написать программу на с++ forms
    Не сложная, пару часов работы, кто может помочь напишите 1331316, хорошо заплачу
     
  15. bipolar

    bipolar New Member

    Joined:
    29 May 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    подскажите, как добавить свой файл (rect.h, rect.cpp) в проект с++, VS 2008?
    ps когда пишу #include "rect.h" - error LNK2019: ссылка на неразрешенный внешний символ


    разобрался!
    помимо того чтоб указать #include "rect.h", нужно еще добавить файлы *.h, *.cpp в "обозревателе решений"
     
    #5335 bipolar, 11 Jun 2010
    Last edited: 11 Jun 2010
  16. Grek

    Grek New Member

    Joined:
    19 May 2010
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    Народ подкинте литературку о функциях для работы с файлами.
    Открытие/закрытие
    Редактирование/Чтение из файла
    Копирование/Переименование/Удаление
    размер/дата создания файла и прочая инфа.

    Весь гугл истоптал.
     
  17. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
  18. Grek

    Grek New Member

    Joined:
    19 May 2010
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    1 person likes this.
  19. Grek

    Grek New Member

    Joined:
    19 May 2010
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    Вобщем программа
    Code:
    #include <vcl.h>
    #include <iostream>
    #include <windows>
    #pragma hdrstop
    #pragma argsused
    using namespace std;
    //----------------------
    int main()
    {
    char str[20];
    struct user
    {
    char name[20];
    char nick[20];
    char email[20];
    int icq;
    }userdata;
    CharToOem("Введите имя\n",str);
    cout << str;
    cin >> userdata.name;
    //--------------------------
    CharToOem("Введите ник\n",str);
    cout << str;
    cin >> userdata.nick;
    //---------------------------
    CharToOem("Введите Email\n",str);
    cout << str;
    cin >> userdata.email;
    //----------------------------
    CharToOem("Введите icq\n",str);
    cout << str;
    cin >> userdata.icq;
    //----------Вывод
    cout << "\n**********\n";
    cout << userdata.name << "\n" <<userdata.nick << "\n" << userdata.email << "\n" << userdata.icq << "\n-----------\n";
    
    FILE *fp;
    fp=fopen("c:\\user.txt","wt");
    fprintf (fp,"%name%nick%email%icq",userdata.name,userdata.nick,userdata.email,userdata.icq);
    fclose(fp);
    system("pause");
    }
    
    Фишка в чем,члены структуры выводятся нормально,но при записи в файл забивает мусор.Не соответствие типов?
     
  20. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    Grek
    смотрим на const char * format
    и для чего он нужен
    http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/
     
    1 person likes this.
Thread Status:
Not open for further replies.