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

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Code:
    int* funct(struct tm *p); // обьявление функции
    int* funct(struct tm *p) // описание 
    { 
    
    Я..... теперь я знаю..... Я на свете есть.....
    Обьявление функции до ее описания обычно делается лишь затем, чтобы компилятор знал, какие у нее параметры и как правильно ее вызвать... А то, что вы написали - это чистой воды маразм. Т.е. надо обьявлять функцию до описания, если она используется в местах, где она еще не описана.
    Code:
    temp[6] = '\0'; // закрываем массив 
    
    Это что-то из космоса, или вас просто жестоко обманули...
    Code:
    {
            intime.tm_sec=10;    // присваиваем значения элементам нашей входной структуры
         ....
        } 
    
    Это, конечно, не ошибка, но какого черта объявлять блок внутри блока, если толку от этого никакого??? + ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ, ОСОБЕННО, В ЯЗЫКАХ БЕЗ УПРАВЛЕНИЯ ДОСТУПОМ И ОБЛАСТЯМИ ВИДИМОСТИ (ТАКИХ, КАК С и ПАСКАКАЛЬ :) ), - ЭТО БОЛЬШОЕ ВСЕЛЕНСКОЕ ЗЛО!
    Еще, очень советую придерживаться хоть какого-то стиля оформления кода, это вам же на руку..... Похоже, что вы не писали никогда ничего серьезного.....
    И ЕЩЕ, ОБЬЯСНИТЕ, ЗАЧЕМ ОБЬЯВЛЯТЬ КАКОЙ-ТО МАССИВ ИЗ "МАГИЧЕСКИХ" СЕМИ ЭЛЕМЕНТОВ?????? ВАМ НЕКОШЕРНО ЮЗАТЬ СТРУКТУРУ tm? (шифт я держал, т.к. слов просто не хватает :) )
     
    #2781 ss88, 26 Apr 2009
    Last edited: 26 Apr 2009
    1 person likes this.
  2. CHIP:))

    CHIP:)) Elder - Старейшина

    Joined:
    17 Jan 2007
    Messages:
    81
    Likes Received:
    18
    Reputations:
    -3
    ss88
    Спасибо вам за разяснения, я учту. Естественно я раньше не писал ничего серьезного иначе меня небыло бы в этой теме.
    Структуру мне юзать некошерно потому что, мне нужна будет в дальнейшем символьная строка с временем, датой и другими вещами. Ладно не будем больше флудить, пошел читать книжки...
     
  3. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Что-то такое я и подозревал, но цифры в символьном виде представляются, отнюдь, не так, так что, если вы надеялись без напрягов все преобразовать в строку, то спешу вас разочаровать....... Не НУЛем единым, так сказать ))))
     
  4. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Покажите пожалуйста пример простой (желательно консольной) программы, которая переходит по ссылке и берет ее содержимое (сокеты). Желательно с хорошими коментариями
     
  5. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    awdrg И что делает с этим содержимым? Если сохраняет в файл, то юзай UrlDownloadToFile из urlmon
    Есть просто считывает данные, то юзай InternetConnect и тому подобные из wininet
    В 5005 статей по делфи хорошо описаны эти функции и кусочки програм на делфи есть, но принчиписально они ничем не отличаются от С++
     
  6. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    А если тебе нужна именно реализация на сокетах, то поищи в форуме гдето я кидал сообщение, как общаться с сервером через сокеты.
    Также могу порекомендовать открыть исходник моей прожки HTTP Sender которую я выкладывал в этом разделе. Он хоть и на делфи, но там Реалищована отсылка пакета Web серверу и получение ответа от него.
     
  7. -m0rgan-

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

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Такой вопрос:
    Учу С++
    коппилятьо говорит:
    Code:
    "ttestt.exe": Загружено: "C:\Documents and Settings\-bug1z-\Мои документы\Visual Studio 2008\Projects\ttestt\Debug\ttestt.exe", Символы загружены.
    "ttestt.exe": Загружено "C:\WINDOWS\system32\ntdll.dll"
    "ttestt.exe": Загружено "C:\WINDOWS\system32\kernel32.dll"
    "ttestt.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll"
    "ttestt.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll"
    Программа "[3912] ttestt.exe: Машинный код" завершилась с кодом 0 (0x0).
    
    код программы:

    Code:
    #include "stdafx.h"
    #include <fstream>
    #include <iostream>
    using namespace std;
    int main()
    {
     int z[10];
    for(int i=1; i<9; i++){
    z[i]=i;
    cout<<i;
    return 0;
    }
    }
    
    В чём проблема?
    почему программа завершается с нолём??
    спасибо!
     
  8. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Потому что код програграммы выполнился и return 0;
    ты же сам написал.. по англ. return - вернуть.
    Или я чего то недопонял, опиши поподробнее проблему..
     
  9. -m0rgan-

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

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Без return тор же самое =//
     
  10. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Аа и еще заметил тока, у тебя при первой интерации цикла, сразу должен вылететь ноль.
    Вот так правильней, не туда поставил }.
    Code:
    #include "stdafx.h"
    #include <fstream>
    #include <iostream>
    using namespace std;
    int main()
    {
     int z[10];
    for(int i=1; i<9; i++){
       z[i]=i;
       cout<<i;
       }
    return 0;
    }
     
  11. rudvil

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

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    "Ноль" означает удачное завершение программы (без ошибок)
    если бы показывало другое число, значит программа завершилась(закрылась) неудачно (с ошибкой).
     
  12. -m0rgan-

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

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    спс...но программа всё равно завершается =(
    то есть мелькнуло консольное окно в нём 123456789 и оно исчезает и в окне компилятора появляется тот же код =((
     
  13. rudvil

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

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    ааа ну так бы и написали, а то фиг поймешь о чем речь)
    перед ретурном надо написать
    Code:
    system("PAUSE"); // Работает только в Windows
    и тогда после 123456789 появится надпись "Press any key to continue" и после нажатия любой кнопки программа закроется.
     
    1 person likes this.
  14. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Программа выполнилась и завершилась, чтобы окно осталось с результатом нужно приостановить ее, например прописав функцию ввода символа. в с++ не знаю как, но думаю прокатит:
    #include<conio.h>
    ...
    getch();
    return 0;
    }
     
  15. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Он наверно хотел сказать alt+F5, в BC таким образом показывается консоль..
     
    1 person likes this.
  16. -m0rgan-

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

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Вот теперь возник такой вопрос:
    Как записть данные в файл?
    Скажем вот мой код:
    Code:
    #include "stdafx.h"
    #include <fstream>
    #include <iostream>
    using namespace std;
    int main()
    {
     int z[100000];
    for(int i=1; i<100000; i=i+2){
       z[i]=i;
       cout<<i;
       cout<<"\n";
       }
    system("PAUSE");
    return 0;
    }
    
    как теперь записать выведенные данные в файл скажем 1.txt ?
    То есть из масива..
     
  17. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    Книжку лучше возьми открой да почитай)) там всё написано!)
     
    3 people like this.
  18. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    cin.get();
     
    1 person likes this.
  19. -m0rgan-

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

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Вот есть способ:
    Code:
    #include "stdafx.h"
    #include <fstream>
    #include <iostream>
    using namespace std;
    int main()
    {
     int z[100000];
    for(int i=1; i<10; i=i+2){
       z[i]=i;
       cout<<i;
       cout<<"\n";
       ofstream out_file("C:\\1.txt"); 
    if(!out_file) cout << "error"; 
    else out_file << i;
       }
    system("PAUSE");
    return 0;
    }
    
    Только оно записывает только последнее значение, а как сделать, чтоб записывало ВСЁ ??
     
    2 people like this.
  20. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    а может потому, что 0 - это нормальное завершение программы?)

    пс: тоже прочитай начало чего-нибудь по сям..
     
    1 person likes this.
Thread Status:
Not open for further replies.