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

    agrofyl2 New Member

    Joined:
    25 Apr 2008
    Messages:
    54
    Likes Received:
    4
    Reputations:
    0
    Здравствуйте.
    Это опять я.
    И у меня пару вопросов:
    1. Как можно организовать скачку файла(может, есть какие нибудь функции, а не просто отправкой Get запроса). А как файл докачать?
    2. Как проверить сущ. файла.
    3. Как скопировать запускаемый файл(мой) куда нибудь еще(не знаю как определить путь к файлу).

    Спасибо.
     
  2. agrofyl2

    agrofyl2 New Member

    Joined:
    25 Apr 2008
    Messages:
    54
    Likes Received:
    4
    Reputations:
    0
    такс. по докачке инфу нашел, http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35


    как путь определить вроде тоже:
    Code:
    char *program; 
    program=GetExePath();
    
    Буду пытатца... Ох не люблю я с HTTP работать, тем более в С++
     
  3. BEGINER

    BEGINER New Member

    Joined:
    16 Aug 2008
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    Скомпилировал код из поста 1433 в Vc9. На моем компе все идет. на других компах не запускается. ЧТо делать?
     
  4. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    BEGINER, видимо, твоя прога требует для работы библиотеки, идущие сместе со студией.

    Заходишь в свойства проекта > Configuration Properties > General > Use of MFC выставляешь Use MFC in a Static Library. После этого твоя программа будет работать без дополнительных библиотек.
     
  5. BEGINER

    BEGINER New Member

    Joined:
    16 Aug 2008
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    Программа консольная, неужели ей нужен MFC?
     
  6. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    Консольная программа тоже может создавать окошки. Сначала попробуй, потом удивляйся.
     
  7. BEGINER

    BEGINER New Member

    Joined:
    16 Aug 2008
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    Попробовал. 11 error(s) :mad:
    Code:
     Build Log      Build started: Project: screenshot_jpg, Configuration: Release|Win32
     Command Lines      Creating temporary file "f:\project\screenshot_jpg\Release\RSP00001175962312.rsp" with contents
    [
    /OUT:"F:\project\screenshot_jpg\Release\screenshot_jpg.exe" /INCREMENTAL:NO /MANIFEST /MANIFESTFILE:"Release\screenshot_jpg.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DELAYLOAD:"OleAcc.dll" /DEBUG /PDB:"f:\project\screenshot_jpg\Release\screenshot_jpg.pdb" /SUBSYSTEM:CONSOLE /LARGEADDRESSAWARE:NO /TSAWARE:NO /OPT:REF /OPT:ICF /OPT:WIN98 /DYNAMICBASE /NXCOMPAT /DELAY:UNLOAD /MACHINE:X86 GdiPlus.lib DelayImp.lib
    
    ".\Release\screenshot_jpg.obj"
    
    ".\Release\stdafx.obj"
    ]
    Creating command line "link.exe @f:\project\screenshot_jpg\Release\RSP00001175962312.rsp /NOLOGO /ERRORREPORT:PROMPT"
     Output Window      Linking...
    LINK : warning LNK4224: /OPT:WIN98 is no longer supported;  ignored
    LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll ignored; no imports found from OleAcc.dll
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__DeleteObject@4 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__RestoreDC@8 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__BitBlt@36 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__SelectObject@8 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__SaveDC@4 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__DeleteDC@4 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__CreateDIBSection@24 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__GetDeviceCaps@8 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__CreateCompatibleDC@4 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    screenshot_jpg.obj : error LNK2019: unresolved external symbol __imp__CreateDCW@16 referenced in function "int __cdecl GetScreeny(wchar_t *,unsigned long)" (?GetScreeny@@YAHPA_WK@Z)
    F:\project\screenshot_jpg\Release\screenshot_jpg.exe : fatal error LNK1120: 10 unresolved externals
     Results      Build log was saved at "file://f:\project\screenshot_jpg\Release\BuildLog.htm"
    screenshot_jpg - 11 error(s), 2 warning(s)
     
  8. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    BEGINER, исходники в студию. Ну или иди... в аську.
     
  9. BEGINER

    BEGINER New Member

    Joined:
    16 Aug 2008
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    Исходник в посте 1433
    Все заработало, спасибо.
    Пришлось добавить GDI32.lib
     
  10. 4y4o

    4y4o Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    for (int x = 1; x <= 10; x++)
    {
    if (x == 5)
    break;
    cout << x << " ";
    }
    cout << "Cukl prervan pri x == 5 " << x << endl;
    return 0;
    }

    'x' : undeclared identifier почему так?
     
  11. Smapt

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

    Joined:
    29 Jan 2008
    Messages:
    31
    Likes Received:
    32
    Reputations:
    3
    Code:
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    int x;
    for (x = 1; x <= 10; x++)
    {
    if (x == 5)
    break;
    cout << x << " ";
    }
    cout << "Cukl prervan pri x == 5 " << x << endl;
    return 0;
    }
    
    Попробуй так. У тебя X инициализируется только для цикла, а когда ты выводиш его после цикла вылазит ошибка.
     
    #1451 Smapt, 29 Aug 2008
    Last edited: 29 Aug 2008
  12. 4y4o

    4y4o Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    Блин пример из книжки и лажа. По логике значение x присваивается оператором for или я чего-то не допонял?
     
  13. Smapt

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

    Joined:
    29 Jan 2008
    Messages:
    31
    Likes Received:
    32
    Reputations:
    3
    В твоём примере Х существует только для цикла for, после выхода из цикла ты уже не сможеш его использовать.
     
  14. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Есть такое понятие как область видимости.
    Если переменная объявлена в теле цикла, то по завершению цикла она уничтожается. Тоже самое для функций.

    Кури Страуструпа "Язык С++" или гугль по слова static, auto или "область видимость переменных".
     
    #1454 4p3, 29 Aug 2008
    Last edited: 29 Aug 2008
  15. 4y4o

    4y4o Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    Страуструпа рано мне курить ещё _))) спасибо за помощь )
     
  16. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Ты смотришь на сообщение от Smapt. Он исправил код 4y4o и поместил x вне цикла.

    Добавлено позже. Если это VC++ 6, то все будет работать, так как он не дружит со стандартами.
     
  17. BEGINER

    BEGINER New Member

    Joined:
    16 Aug 2008
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    У меня этот пример нормально работает. Вероятно это зависит от компилятора
     
  18. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Он не должен работать - область видимости, где есть X, заканчивается после } цикла for.
    Поэтому и 'x' : undeclared identifier - все верно.

    Модифицируй так:

    int x;
    for (x = 1; x <= 10; x++)
    {
     
  19. 4y4o

    4y4o Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    Никто не знает где взять ответы на вопросы для самоконтроля Дейтел, Дейтел 2007 год пятое малое издание?
     
  20. Cheka

    Cheka New Member

    Joined:
    23 Aug 2008
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    Вообщето правило области видимости, работает для фукнций, а не для составных операторов и для тел циклов, если мне не изменяет память...

    P.S. У меня на Визуал С++ 6 скомпилировалось без ошибок.
     
Thread Status:
Not open for further replies.