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

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

    Joined:
    7 Mar 2008
    Messages:
    463
    Likes Received:
    190
    Reputations:
    50
    он на енглише =/ енглишь знаю очень неплохо, но не до того чтоб курить маны.. да и ненужна мне такая махина..
     
  2. BMaster

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

    Joined:
    12 Jan 2006
    Messages:
    32
    Likes Received:
    34
    Reputations:
    7
    В гугл введи system, popen c++ и будет тебе нет сенд.
    http://allk.ru/book/10/68.html
     
  3. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Ну просто взять и написать. msdn.microsoft.com - там ищешь по описанию требуемых функций нужные тебе апи. И пишешь.
     
    1 person likes this.
  4. zythar

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

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    а под виндой нельзя функции exec()? можно было бы и с ее помощю реализовать то что ты хочешь
     
  5. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    Можно, почему бы и нет. Только system проще
     
  6. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    махина... это да... но зато всё есть
    Forcer +1 полность поддерживаю ИМХО в качестве справочника лучше чем MSDN нету
    этого достаточно чтобы понять о чём идёт речь
     
  7. Amoura

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

    Joined:
    23 Jan 2008
    Messages:
    237
    Likes Received:
    148
    Reputations:
    46
    PHP:
    // TestVolume.cpp : Defines the entry point for the console application.
    //

    #include "stdafx.h"
    #include "windows.h"
    #include "iostream.h"

    void main()
    {
        
    char NameBuffer[MAX_PATH];
        
    char SysNameBuffer[MAX_PATH];
        
    DWORD VSNumber;
        
    DWORD MCLength;
        
    DWORD FileSF;

        if (
    GetVolumeInformation("C:\\"NameBuffersizeof(NameBuffer),
                &
    VSNumber, &MSLength, &FileSFSySNameBuffersizeof(SysNameBuffer));
        {
                
    cout << NameBuffer << endl;
                
    coun << SysNameBuffer << endl;
                
    coun << SVNumber << endl;
        }
    }
    при компиляции вылетает ошибка, компилирую в Microsoft Visual Studio 2008:
    Error 1 fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory c:\documents and settings\admin\my documents\visual studio 2008\projects\testvolume\testvolume\testvolume.cpp 6 TestVolume

    Подскажите где взять этот модуль?
     
    #947 Amoura, 6 Apr 2008
    Last edited: 6 Apr 2008
  8. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    #include "iostream.h" замени на #include <iostream.h> . Подобные стандартные хедеры пишутся в угловых скобках, а не кавычках.
     
  9. Amoura

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

    Joined:
    23 Jan 2008
    Messages:
    237
    Likes Received:
    148
    Reputations:
    46
    Тоже самое =\
     
  10. Benzin

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

    Joined:
    15 Jan 2007
    Messages:
    39
    Likes Received:
    8
    Reputations:
    -5
    1) кавычки
    2) добавь using namespace std;
    3) не coun, а cout
    4) не прально написана SysNameBuffer в GetVolumeInformation
    5) не прально MCLength в GetVolumeInformation
    5) ошибки в скобках
    7) кароче исправил, вот что получилось:

    Code:
    #include <windows.h> 
    #include <iostream>
    using namespace std;
    
    void main() 
    { 
        char NameBuffer[MAX_PATH]; 
        char SysNameBuffer[MAX_PATH]; 
        DWORD VSNumber; 
        DWORD MCLength; 
        DWORD FileSF; 
    
    	TCHAR root[]="C:\\";
    	BOOL info = GetVolumeInformation(root, NameBuffer, sizeof(NameBuffer), &VSNumber, &MCLength, &FileSF, SysNameBuffer, sizeof(SysNameBuffer));
    
        if (info) 
        {
    		cout << NameBuffer << endl; 
    		cout << SysNameBuffer << endl; 
    		cout << VSNumber << endl; 
        } 
    } 
    В настройках проекта, поставь Use Multi-Byte Character Set, вместо unicode
     
    2 people like this.
  11. horlyk

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

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    Народ, вобщем есть немного одна проблемка. тут минипрога которая должна считать колличество символов и при желании пользователя повторять эту процедуру. Она работает только 1 раз, все остальные она проскакивает, не давая ввести слова, автоматически ставля 0 и переходит к вопросу о выборе действия - повторить или выйти. Помогите плз решить эту задачку - я уже много вариантов пробовал - не выходит(

    #include<iostream>


    using namespace std;

    int main()
    {
    int again;
    begin:
    char szInput[256];




    puts ("\n\n\n\nEnter a sentence: ");
    gets(szInput);

    printf("\n\n\t\tThe sentence entered is %u characters long)\n",strlen(szInput));
    puts("\n\n\t\t\t*** Third task completed ***");

    printf("\n\n\nagain? 1 - yes\n");
    cin >> again;
    if(again == 1)
    {

    goto begin;}




    return 0;
    }
     
    #951 horlyk, 7 Apr 2008
    Last edited: 7 Apr 2008
  12. hackconnect

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

    Joined:
    8 Mar 2007
    Messages:
    49
    Likes Received:
    5
    Reputations:
    0
    не юзайте вы goto! забудьте об этом как о страшном сне 90х годов!

    Вынеси свой код в функцию и вызывай while(myfunction())
    захочешь выйти напишешь в функции по ифу return false;
     
  13. echobyte

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

    Joined:
    7 Mar 2008
    Messages:
    463
    Likes Received:
    190
    Reputations:
    50
    Code:
    #include<iostream>
    
    using namespace std;
    int again;
    char szInput[256];
      
    int main()
    {
       for(;;)
       {
         puts ("\n\n\n\nEnter a sentence: ");
         cin>>szInput;
         printf("\n\n\t\tThe sentence entered is %u characters long)\n",strlen(szInput));
         puts("\n\n\t\t\t*** Third task completed ***");
         printf("\n\n\nagain? 1 - yes\n");
         
         cin >> again;    
         if(again!=1)
         break;
       }
       return 0;
    }
    
     
  14. KSoniX

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

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    есть ли в С++ функция которая находит из char массива сходный текст и возвращает его индекс?
     
    #954 KSoniX, 7 Apr 2008
    Last edited: 7 Apr 2008
  15. horlyk

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

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    Может я немного не понимаю, но у меня всерано не выходит. Перенес код в отдельную ф-ю, вызывал ее через мейн так как ты говорил, через иф поставил ретурн фалсе. Не выходит чтото у меня ( Много вариантов перепробовал - все тоже самое( Помогите плз, ну не могу въехать...
     
  16. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    Чем не устраивает код что дал echobyte?
     
    #956 z01b, 7 Apr 2008
    Last edited: 7 Apr 2008
    3 people like this.
  17. KindEcstasy

    KindEcstasy Banned

    Joined:
    30 Sep 2006
    Messages:
    105
    Likes Received:
    64
    Reputations:
    54
    >есть ли в С++ функция которая находит из char массива сходный текст и возвращает его индекс?

    Да. bsearch(), заглавник stdlib.h возвращает указатель на элемент массива
     
  18. KindEcstasy

    KindEcstasy Banned

    Joined:
    30 Sep 2006
    Messages:
    105
    Likes Received:
    64
    Reputations:
    54
    horlyk
    Значит условие ложное раз не выходит ;)
     
  19. Benzin

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

    Joined:
    15 Jan 2007
    Messages:
    39
    Likes Received:
    8
    Reputations:
    -5
    2 horlyk: А чем тебя не устраивает вышеописанный вариант вариант?
    Code:
    #include <iostream.h>
    using namespace std;
    
    int again;
    char szInput[256];
      
    int main()
    {
       for(;;)
       {
         puts ("\n\n\n\nEnter a sentence: ");
         cin>>szInput;
         printf("\n\n\t\tThe sentence entered is %u characters long)\n",strlen(szInput));
         puts("\n\n\t\t\t*** Third task completed ***");
         printf("\n\n\nagain? 1 - yes\n");
         
         cin >> again;    
         if(again!=1)
         break;
       }
       return 0;
    }
    Только надо добавить:
    #include <string.h>
    #include <stdio.h>

    Ну или хочешь то можно и так:
    Code:
    #include <iostream.h>
    #include <string.h>
    #include <stdio.h>
    
    int myfunc();
    
    int again=1;
    char szInput[256];
      
    int main()
    {
    	while (again==1)
    	{
    		myfunc();		
    	}
    
    	return 0;
    }
    
    int myfunc()
    {
    	puts ("\n\n\n\nEnter a sentence: ");    
    	cin>>szInput;     
    	printf("\n\n\t\tThe sentence entered is %u characters long\n",strlen(szInput));     
    	puts("\n\n\t\t\t*** Third task completed ***");    
    	printf("\n\n\nagain? 1 - yes\n");     
        cin >> again;
    	 
        if(again!=1)
    	{
    		return false;
    	}
    	return 0;
    }
     
  20. horlyk

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

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    когда я запускаю прогу на выполнение с тем кодом - после введения символов, когда спрашивает о том что сделать - 1 - заново, так там сразу программа завершает работу, типа прес ени кей. Мне же нужно чтоб по вводу еденички программа заново начинала выполняться, тоесть новое выполнение ф-и ввода и подсчета символов, а оно не выходит(
     
Thread Status:
Not open for further replies.