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

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    Попробуй умистить заголовочный так, чтобы в путь к нему не содержал пробел,например умисти его на диск C.
     
  2. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.0A\\Include\\UrlMon.h"
     
  3. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    это же тебе директива #include а не array :)
     
  4. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Всё равно не собирается. На C:\\ закидывал и полный путь указывал от VS 2010.
    Я в этом не спец, еще только учусь, но по ошибкам чую, что UrlMon.h подключает еще одни файлы.
    Может, можно еще как нибудь скачать файл с http кроме URLDownloadToFile?
     
  5. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    Не знаю,виндовс компиляторы такие же как сам виндовс :D
    Может твой urlmon имеет формат txt ?
     
  6. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    .h :D
    Может, как нибудь скачать файл через курл?

    еще вопрос
    PHP:
    FILE *file;
    charfile_name "C:\\file.txt";
    char load_string[1000] = "none";
    char txti[1000];


    file fopenfile_name"r" );
    if( 
    file != )
    {
     for(
    int i=0i<11i++){
    fgetsload_string1000 file );
    txti[i] = load_string;
    printf("%s"txti[i]);
    }
    }
    else
    {

    }
    /*for(int i=0; i<11; i++){
    printf("txti[%s]",i);
    }*/
    fclose(file);
    return 
    0;

    Читаю файл, пытаюсь забить его массив, т.е.
    txti[0] = "stroka1";
    txti[1] = "stroka2";
    как то так.
    Как вывести этот массив? Как рандомно выбрать значание из массива?
     
    #5506 SeNaP, 30 Jul 2010
    Last edited: 30 Jul 2010
  7. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Code:
    //////////////////////////////////////////////////////////////////////////
    #undef UNICODE
    //////////////////////////////////////////////////////////////////////////
    #include <Urlmon.h>
    //////////////////////////////////////////////////////////////////////////
    #pragma comment( lib, "Urlmon.lib" )
    //////////////////////////////////////////////////////////////////////////
    int main( int argc, char *argv[] )
    {
    	HRESULT result = URLDownloadToFile(
    		NULL,
    		"http://127.0.0.1/1.php",
    		"C:\\index.html",
    		NULL,
    		NULL
    		);
    
    	return 0;
    }
    //////////////////////////////////////////////////////////////////////////
    На код-блоке не проверял, так как банально тету код-блока, но в студии все работает.
     
  8. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    я не совсем понял что ты хочешь, но у тебя в этом коде дофига ошибок :)

    Ты хочешь вывести содержимое файла в поле и после этого вывести его на терминал ?
     
    #5508 R0nin, 30 Jul 2010
    Last edited: 30 Jul 2010
  9. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Ins3t, спасибо :)

    R0nin,есть файл
    Code:
    stroka1
    stroka2
    stroka3 и т.д.
    
    Я хочу забить массив txti, т.е.
    txti[0] = stroka1;
    txti[1] = stroka2;
    И чтобы можно было их потом вывести. pritf(txti[0]) - строка1 и т.д :)

    Проблема, за проблемой :(
    Юзаю VS 2010 всё компилится без ошибок. Под win 7 программа запускается, а под win xp выдает ошибку
    [​IMG]
     
    #5509 SeNaP, 30 Jul 2010
    Last edited: 30 Jul 2010
  10. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    ну во первых txti не массив указателей а strokaN это указатель на первый индекс массива.

    Если я тебя правильно понял то код должен выглядеть примерно так :

    Code:
    char **p_str = (char *)malloc( sizeof(char*) * 16 );
    char str[16], str2[16];
    и после этого уже можно написать
    Code:
    p_str[0] = str;
    p_str[1] = str2;
     
  11. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    В VS2008:
    В 2010 что то похожее.
     
  12. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    R0nin и Ins3t Спасибо вам огромное! :)
    UPD:
    Пытаюсь найти запущенный процессы и завершить их
    PHP:
    #include "stdafx.h"
    #include <Windows.h>
    #include <tlhelp32.h>
    char buf[1024];
    char *process[]=
    {
        
    "regedit.exe",
        
    "taskmgr.exe",
        
    "ssss.exe"
    };
    int _tmain(int argc_TCHARargv[])
    {
      
    HANDLE Snap;
      
    HANDLE laris;
      
    PROCESSENTRY32 proc32;
      
    int c;
       
    Snap CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
       if(
    Snap==INVALID_HANDLE_VALUE)return;
       
    proc32.dwSize=sizeof(PROCESSENTRY32); 
       while((
    Process32Next(Snap,&proc32))==TRUE)
      {
          for(
    int i=0i<3i++){

           
    laris OpenProcess(PROCESS_TERMINATE0proc32.th32ProcessID);
            if(
    strcmp(process[i],proc32.szExeFile) == 0)
           {
               
    TerminateProcess(laris,0);
                
    CloseHandle(laris);
                break;
           }
          }
        }
        return 
    0;
    }

    Где то я опять ошибся :eek:
     
    #5512 SeNaP, 31 Jul 2010
    Last edited: 31 Jul 2010
  13. Gora44

    Gora44 New Member

    Joined:
    21 Jul 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Чтобы убрать привязку к dll библиотекам в Visual Studio 2010 rus надо сделать следующее:
    проект>> свойства>> свойстава конфигурации>> общие>> в строке использование MFC переставляем на Использование MFC в статической библиотеке.
     
  14. rudvil

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

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Что именно не работает? у меня все работает корректно.
     
    #5514 rudvil, 4 Aug 2010
    Last edited: 4 Aug 2010
  15. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Как выводит в консоль float если printf его нехавает?
     
  16. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    Code:
    printf("%f",[I]переменная[/I]);
    не канает? оО
     
  17. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Выводится только целая часть.
     
  18. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    скорее всего ты где-то неправильно округляешь или приводишь к типу. покажи кусок кода.
     
  19. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Да я затупил забыл что делимое должно быть обязательно типа с плавающей точкой.
     
  20. 2L84U

    2L84U New Member

    Joined:
    7 Aug 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток!
    Я тут новичок, в каком-то смысле: следил за форумом много лет, но только сейчас зарегистрировался, вместе с началом учебы в IT ВУЗе.
    Для себя, на данный момент, выбрал 2 языка: С++ и Java. Решил учить, как в одной ветке сказано, по книге "Jesse Liberty. Освой самостоятельно C++ за 21 день".
    Достал себе пятое издание.
    После написания Hello World возникла проблема с упражнением 2 к 1 дню - используя MS VS 2010 не смог скомпилировать программу [1].
    [1]
    Code:
    #include <iostream>
    int main ()
    {
    	int x = 5;
    	int y = 7;
    	std::cout << endl;
            std::cout << x + y << " " << x * y;
    	std::cout << end;
        return 0;
    } 

    Покопавшись немного отредактировал код, как указано ниже [2]:
    [2]
    Code:
    #include <iostream>
    int main ()
    {
    	int x = 5;
    	int y = 7;
    	std::cout << std::endl;
            std::cout << x + y << " " << x * y;
    	std::cout << std::endl;
        return 0;
    }
    Внимание вопрос: равноценны ли данные коды, т.к. согласно описанию они выполняют одно и то же, но меня смущает замена в 8 строке end на endl?
    Как я понял endl - это end line, а по-идее, как я себе представляю, end - это вообще конец программы.
     
Thread Status:
Not open for further replies.