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

    t3zo Member

    Joined:
    18 Feb 2010
    Messages:
    51
    Likes Received:
    14
    Reputations:
    5
    Считать в переменную char* выделенный текст активного окна. В гугле собственно ничего не нашел по этому вопросу.
    Сам, что намыслил, это посылать окну ctrl+c и потом считывать с буфера, но это велик, а как на самом деле не могу понять\найти ответ
     
  2. bad_boy

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

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    t3zo, http://msdn.microsoft.com/en-us/library/bb761598(v=vs.85).aspx
     
    1 person likes this.
  3. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    [C]

    Есть функция типа:
    Code:
    void MyFunc(int a);
    Я должен из main() передать ей значение входных параметров программы.
    Что-то вроде:
    Code:
    int main(int argc, char *argv[])
    {
        MyFunc(argv[1]);
        return 0;
    }
    Не работает. Аргументы передаются типом char*, как преобразовать в int?
    Пробовал так:
    Code:
    int main(int argc, char *argv[])
    {
        MyFunc((int)argv[1]);
        return 0;
    }
    Не вышло :(.

    Пишу под убунту. Нужно что бы при запуске вот так:
    ./MyProggram 900
    Функция MyFunc получила 900.
     
  4. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    atoi(), isdigit()
     
  5. bad_boy

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

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    tim-oleksii, похоже, ругается на '<', пытаясь заменить это как оператор - 'меньше'
    попробуй сделать для начала:

    typedef map<string, string> twostrings_t;
    typedef map<string, twostrings_t> maptwostrings_t;
     
  6. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Спасибо за ответ.

    Ругалось на const.
     
  7. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    [C]

    Программа должна удалить все символы из первой строки совпадающие с любым из второй.

    Делаю так:
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        char s1[] = "Haegagllgao Wagorbbgalad!";
        char s2[] = "abg";
        char s3[sizeof(s1)+sizeof(s2)];
        int i,j,k;
        k = 0;
        for (i = 0; s2[i] != '\0'; i++)
            for (j = 0; s1[j] != '\0'; j++)
                if (s1[j] != s2[i])
                    s3[k++] = s1[j];
        s3[k] = '\0';
        printf("%s\n", s3);
        return 0;
    }
    Ошибка сигментации - говорит мне bash(Ubuntu 10.04).
    Исправьте пожалуйста и с пояснением если можно. Очень буду любезен, если заюзаите указатели и тоже объясните "почему так".
     
  8. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Code:
    #include <stdio.h>
    #include <string.h>
    
    int main( int argc, char *argv[] ) {
    	char string[]  = {"Haaaaegagllgao Wagorbbgalad!"};
    	char symbols[] = { "abg" };
    
    	int stringSize = strlen( string );
    	int symbolsSize = strlen( symbols );
    
    	for( int i = 0; i < symbolsSize; i++ )
    		for( int i = 0; i < symbolsSize; i++ )
    			for( int k = 0; k < stringSize; k++ )
    				if( string[ k ] == symbols[ i ] ) {
    					for( int t = k; t < stringSize; t++ )
    						string[ t ] = string[ t + 1 ];
    				}
    
    	printf( "\n\n%s", string );
    
    	return 0;
    }
    
    ..в момент написания в алгоритме обнаружился баг и первое решение пришедшее в голову - добавить еще 1 цикл.
    ..уверен, что решу ее гораздо красивее после как высплюсь .D

    ..P.S.: на плюсах задача решается в пару строк без изобретения велосипеда ;)
     
  9. foozzi

    foozzi Member

    Joined:
    13 Apr 2010
    Messages:
    195
    Likes Received:
    13
    Reputations:
    5
    у меня есть код статистики онлайна сервера
    его надо вписать в программу чтоб он был динамичный, тоесть показывал точный онлайн или проще сказать грабил с сайта
    как это осуществить ?
     
  10. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    или такой wtf
    Code:
    void uuk()
    {
    	char str[] = "content";
    	char *chr = "cnt", *q, *e;
    	for (; *chr; chr++)
    		for (q = str; *q;)
    			if (*q == *chr || !q++)
    				for (e = q; *q || !(q = e);)
    					*q = q[1], q++;
    	puts(str);
    }
    
     
  11. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    работа с сетью + регулярные выражения.
     
  12. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Или такой прикольный wtf на C++0x:
    PHP:
    #include <string>
    #include <algorithm>
    #include <iostream>

    int main()
    {
        
    std::string s1 "Haegagllgao Wagorbbgalad!";
        
    std::string s2 "abg";

        
    std::for_each(s2.begin(), s2.end(), [&s1] (char c) { s1.erasestd::remove(s1.begin(), s1.end(), c), s1.end() ); } );
        
    std::cout << s1 << std::endl;

        return 
    0;
    }
     
  13. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    ..ну раз на то пошло - я сделал бы так:
    Code:
    #include <iostream>
    #include <string>
    
    int main( int argc, char *argv[] ) {
    	std::string textString( "Haegagllgao Wagorbbgalad!" );
    	std::string symbols( "abg" );
    	std::string::iterator it;
    
    	int currentPos = textString.find_first_of( symbols );
    
    	while( currentPos != std::string::npos ) {
    		it = textString.begin() + currentPos;
    		textString.erase( it );
    		currentPos = textString.find_first_of( symbols );
    	}
    
    
    	std::cout << std::endl << textString;
    
    	return 0;
    }
    ..но это уже другая тема разговора ;)
     
  14. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    linux c

    Помогите конвертнуть double в char.
    Code:
    char* f(){
    	double x=0.2;
    	char* fbuf;
    	sprintf(fbuf,"%f",x);
    	return fbuf;
    }
    
    Это выдаёт ошибку сегментации.
    Слышал про функцию ftoa но в гугле рабочую так и не нашел
     
  15. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    PHP:
    charconvert(charfbufdouble x)
    {
        
    sprintf(fbuf"%f"x);
        return 
    fbuf;
    }

    int main()
    {
        
    char buf[32];
        
    printf("%s"convert(buf1.5));
        return 
    0;
    }
     
    1 person likes this.
  16. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Разумеется.
    на что указывает?
     
  17. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    492
    Likes Received:
    187
    Reputations:
    5
    У тебя для fbuf не выделено памяти
    сам покумекай, куда сохранять данные? На деревню дедушке чтоли?
     
  18. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    не корректно говорить, что под fbuf не выделена память. это всего лишь указатель, содержащий адрес выделенной памяти. Другое дело, что fbuf не инициализирован.
     
  19. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    492
    Likes Received:
    187
    Reputations:
    5
    Тогда скажу так
    Не корректно говорить что это: содержащий адрес выделенной памяти.
    Это скорее указатель на случайную область памяти :D
     
    #6259 rudi, 27 Mar 2011
    Last edited: 27 Mar 2011
  20. Ins3t

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

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    вполне корректно, поскольку указатель содержит именно адрес.

    Что значит на случайную? глупости.
     
    #6260 Ins3t, 27 Mar 2011
    Last edited: 27 Mar 2011
Thread Status:
Not open for further replies.