Форум программистов, компьютерный форум CyberForum.ru

system() - C++

Восстановить пароль Регистрация
 
Beg
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 17
29.03.2013, 20:42     system() #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    string s1;//адрес сервера
    string s2,s3;//имя юзера, текст
    for (;;)
    {
        cout<<"vvedite adres terminalnogo servera"<<endl;
        getline(cin,s1);
        cout<<"vvedite imya usera/seansa"<<endl;
        getline(cin,s2);
        cout<<"vvedite soobshenie, dlya smeni adresata vvedite changeadres"<<endl;
        for (;;)
        {
            getline(cin,s3);
            if (s3=="changeadres") break;
            system("msg %s /server:%s %s",s1,s2,s3);
        }
    }
    system("pause");
    
    return 0;
}
суть программы - создать подобие чата с помощью команды консольной строки MSG
выдает ошибку в строке
system("msg %s /server:%s %s",s1,s2,s3);
'system' : function does not take 4 arguments
если писать без 3 последних аргументов , то есть типо system("msg * hi"); программа работает.
как можно обойти/устранить данную проблему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2013, 20:42     system()
Посмотрите здесь:

C++ System в Си++
system("del C:\\1"); и system("rmdir C:\\1"); C++
C++ вопрос по System
C++ Не работает system
C++ system::string
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
29.03.2013, 21:12     system() #2
Как вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdarg.h>
#include <iostream>
 
void Write(const char *format, ...)
{
    va_list args;
    char buffer[2048];
    
    va_start(args, format);
    vsprintf(buffer, format, args);
    va_end(args);
 
    std::cout << buffer;
}
и использовать:

C++
1
2
3
4
5
6
        for (;;)
        {
            getline(cin,s3);
            if (s3=="changeadres") break;
            Write("msg %s /server:%s %s", s1,s2,s3);
        }
Beg
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 17
29.03.2013, 23:11  [ТС]     system() #3
после ввода строк идет к функции write и на этой строчке выбивает ошибку
vsprintf(buffer, format, args);
не могу понять в чем проблема.
-=ЮрА=-
Заблокирован
Автор FAQ
29.03.2013, 23:59     system() #4
Цитата Сообщение от Beg Посмотреть сообщение
if (s3=="changeadres") break;
//* * * * * * system("msg %s /server:%s %s",s1,s2,s3); //BIG MISTAKE
string sCMD = "msg " + s1 + "/server:" + s2 + " " + s3;
system(sCMD);
Справка по MSG на скрине
Миниатюры
system()  
Tulosba
30.03.2013, 03:30
  #5

Не по теме:

-=ЮрА=-, зачем так усердно затирать ко... имя пользователя?

Beg
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 17
30.03.2013, 11:27  [ТС]     system() #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Справка по MSG на скрине
спасибо, помогло, конечный результат в цикле выглядит примерно так:
C++
1
2
3
4
5
6
getline(cin,s3);
if (s3=="changeadres") break;
string result="msg " + s2 + "/server:" + s1 + " " + s3;
char* s = new char[result.length()];
strcpy(s, result.c_str());
system(s);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2013, 11:33     system()
Еще ссылки по теме:

C++ Функции system()
C++ System()
C++ Функция system

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Friday
ну и долго меня небыло...
 Аватар для Friday
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
30.03.2013, 11:33     system() #7
Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:

-=ЮрА=-, зачем так усердно затирать ко... имя пользователя?

Не по теме:

с работы пишет наверное

Yandex
Объявления
30.03.2013, 11:33     system()
Ответ Создать тему
Опции темы

Текущее время: 00:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru