[ 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. Fl0dER

    Fl0dER New Member

    Joined:
    22 Dec 2008
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    Действительно хорошая функция . Спасибо !!!
    Есть ли функция на подобе string::replace ?
     
  2. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    <string> подключил? должно компилиться...
    Чтобы в чар перевести используй: string.c_str();

    Только в STL, по стандарту нету. Где-то тут возможно есть.

    Вот:
     
    #2182 Chaak, 16 Jan 2009
    Last edited: 16 Jan 2009
  3. Fl0dER

    Fl0dER New Member

    Joined:
    22 Dec 2008
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    Еще вопросик , c каким компонентом для работ с архивами лучше работать ?
    Я хочу запаковать сразу 6 файлов в любой из форматов архива .

    Хотел с помощью zlib но так и не понял как .... = (


    Попытался вывести текст из файла таким способом ,

    FILE * pFile;
    pFile = fopen ("myfile.txt","r");

    printf((const char*)pFile);

    но сразу понял что не правельно . Помогите как зделать правельно ?
     
    #2183 Fl0dER, 16 Jan 2009
    Last edited: 16 Jan 2009
  4. serfertty

    serfertty Guest

    Reputations:
    0
    Вывсети текст из файла
    Code:
    #include <stdio.h>
    
    int main(int argc, char* argv[])
    {
    	char buf[512];
    	FILE *f = fopen( "C:\\1.txt", "r" );
    	while (fgets( buf, 512, f ))
    		strncpy( string, buf, 255 );
    	fclose( f );
    
    	return 0;
    }
    
    И потом уже выводишь массив.
     
  5. Fl0dER

    Fl0dER New Member

    Joined:
    22 Dec 2008
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    Code:
    #pragma hdrstop
    #include <stdio.h>
    #include <iostream.h>
    
    
    #pragma argsused
    
    int main(int argc, char* argv[])
    {
    	char buf[512];
    	FILE *f = fopen( "C:\\1.txt", "r" );
    	while (fgets( buf, 512, f ))
    		strncpy( string, buf, 255 );
    	fclose( f );
    	printf((char*)buf);
    
    	return 0;
    }


    [BCC32 Error] File1.cpp(16): E2108 Improper use of typedef 'string'

    =( че не так ?
     
  6. Fl0dER

    Fl0dER New Member

    Joined:
    22 Dec 2008
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    а все разобарлся , так и не понял зачем ты юзал while и strncpy

    char buf[512];
    FILE *f = fopen( "C:\\1.txt", "r" );
    fgets( buf, 512, f );

    fclose( f );
    printf((char*)buf);
    system("PAUSE");
    return 0;
     
  7. Unregistered

    Unregistered Member

    Joined:
    15 Jan 2009
    Messages:
    24
    Likes Received:
    10
    Reputations:
    1
    Хочу научится кодить на C++и жду вашей помощи. Задам, с вашего позволения, пару вопросов:
    1. На форуме в одной из тем была предложена книга "Харви Дейтел, Пол Дейтл - Как программировать на C++". Я посмотрел по содержанию - все должно быть доходчиво и размер внушительный, но одно но... судя по всему книга довольно таки старая :( Её содержание все еще актуально?
    2. Учить собрался с 0, при этом я совсем не силен в математике и от кодерства я далек. Любознателен, но ленив (хотя думаю пересилить себя смогу). Мне стоит вообще за это браться?
     
  8. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    2 Unregistered:
    1. А почему оно должно быть не актуально? Изучи основы, а потом уже будешь думать "о современности" :)
    2. Желание есть? Если есть, тогда вперед и с песней ;)
     
  9. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    не надо ждать ничьей помощи. это первая ошибка :)
     
  10. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Народ помогите скомпилировать код
    #include <iostream.h>
    int main()
    {
    cout << "hello world\n";
    return;
    }
    есть Codeblock и Visual C++
    чего делать??
     
  11. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Code:
    #include <iostream.h>
    int main()
    {
    cout << "hello world\n";
    return 0;
    }
     
  12. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Блин а как ее скомпелировать????? что бы был exe файл
     
  13. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    В MVC++ жмешь: CTRL+F7, F7, CTRL+F5.
    З.Ы. если вдруг потеряешь ехе, то он в папке debug или release :)
     
  14. n4e/\@

    n4e/\@ Elder - Старейшина

    Joined:
    6 May 2008
    Messages:
    138
    Likes Received:
    17
    Reputations:
    0
    Кто нибудь работал с curl под C++?
    Как там можно получить ответ сервера в буфер\файл?
    curl_easy_perform(test);
    Получается исходный код страницы и выводит на экран. А мне надо что бы он выводил в буфер, что бы потом это все дело записать в файл.
    На пхп это вроде будет curl_exec, но в С++ такого нет.
     
  15. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Вот, нашел что-то...надеюсь поможет:
    http://forum.antichat.ru/showthread.php?p=586452
    http://forum.web-hack.ru/index.php?act=ST&f=16&t=49623&go=1
     
    1 person likes this.
  16. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ознакомься с функцией curl_easy_setopt и параметрами CURLOPT_WRITEFUNCTION и CURLOPT_READFUNCTION. Именно они определяют CALLBACK-функции, которые вызываются библиотекой курл, когда есть данные для чтения и записи. И вообще, начинай изучение какой-либо технологии с документации http://curl.haxx.se/libcurl/c/ тогда 99% вопросов отпадут сами собой.
     
    2 people like this.
  17. halkfild

    halkfild Members of Antichat

    Joined:
    11 Nov 2005
    Messages:
    365
    Likes Received:
    578
    Reputations:
    313

    да работали, и всё норм работает :)
    а вот пример с документации

    Code:
    #include <stdio.h>
    #include <curl/curl.h>
    #include <curl/types.h>
    #include <curl/easy.h>
    struct MemoryStruct {
    char *memory;
    size_t size;
    };
    void *myrealloc(void *ptr, size_t size)
    {
    /* There might be a realloc() out there that doesn’t like reallocing
    NULL pointers, so we take care of it here */
    if(ptr)
    return realloc(ptr, size);
    else
    return malloc(size);
    }
    size_t
    WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
    {
    size_t realsize = size * nmemb;
    struct MemoryStruct *mem = (struct MemoryStruct *)data;
    mem->memory = (char *)myrealloc(mem->memory, mem->size + realsize + 1);
    if (mem->memory) {
    memcpy(&(mem->memory[mem->size]), ptr, realsize);
    mem->size += realsize;
    mem->memory[mem->size] = 0;
    }
    return realsize;
    }
    int main(int argc, char **argv)
    {
    CURL *curl_handle;
    struct MemoryStruct chunk;
    chunk.memory=NULL; /* we expect realloc(NULL, size) to work */
    chunk.size = 0; /* no data at this point */
    curl_global_init(CURL_GLOBAL_ALL);
    /* init the curl session */
    curl_handle = curl_easy_init();
    /* specify URL to get */
    curl_easy_setopt(curl_handle, CURLOPT_URL, “http://cool.haxx.se/”);
    /* send all data to this function  */
    curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
    /* we pass our ‘chunk’ struct to the callback function */
    curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk);
    /* some servers don’t like requests that are made without a user-agent
    field, so we provide one */
    curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, “libcurl-agent/1.0″);
    /* get it! */
    curl_easy_perform(curl_handle);
    /* cleanup curl stuff */
    curl_easy_cleanup(curl_handle);
    /*
    * Now, our chunk.memory points to a memory block that is chunk.size
    * bytes big and contains the remote file.
    *
    * Do something nice with it!
    *
    * You should be aware of the fact that at this point we might have an
    * allocated data block, and nothing has yet deallocated that data. So when
    * you’re done with it, you should free() it as a nice application.
    */
    return 0;
    }

    по образу и подобию сделаешь свое)
     
    _________________________
    1 person likes this.
  18. Lee_fx

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

    Joined:
    27 Sep 2008
    Messages:
    90
    Likes Received:
    14
    Reputations:
    0
    Доброго времени суток, появился такой вопросец:
    Нужно чтобы при запуске программы на панели задач(там где "Пуск"), к примеру, появлялось текстовое поле(что-то типа рекламного поиска во многих прогах), как это можно реализовать?
     
  19. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Нужна функция, которая разбивает строку(char *) через разделитель, и возвращает подстроку по индексу.

    char * getSubstr(char * str, const char separator, int index);


    Сам написать не могу :(
     
    1 person likes this.
  20. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Ну так сделай split по разделителю и возьми нужнй элемент
     
    1 person likes this.
Thread Status:
Not open for further replies.