Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
4 / 4 / 0
Регистрация: 29.01.2013
Сообщений: 91
1

Ошибки при компиляции

29.08.2013, 17:06. Показов 3311. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Помогите с ошибками разобратся:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
   const char log_path[249] = "";
   if(argc != 2)
   {
      log_path = "/var/log/auth.log";
   }
   else
   {
      log_path = argv[1];
   }
   system("export DISPLAY=:0 && tail -fn0 /var/log/auth.log | while read line ; do echo \"$line\" | grep \"Accepted\" ; if [ $? = 0 ] ; then notify-send \"Security Warning\" \"$(echo \"$line\" | grep \"Accepted\")\" -u critical -i /usr/local/alert/icon.png ; fi ; done &>" + log_path);
}
g++ tes.cpp -o tes
tes.cpp: In function ‘int main(int, char**)’:
tes.cpp:13:16: error: assignment of read-only variable ‘log_path’
log_path = "/var/log/auth.log";
^
tes.cpp:13:16: error: incompatible types in assignment of ‘const char [18]’ to ‘const char [249]’
tes.cpp:17:16: error: assignment of read-only variable ‘log_path’
log_path = argv[1];
^
tes.cpp:17:16: error: incompatible types in assignment of ‘char*’ to ‘const char [249]’
tes.cpp:19:276: error: invalid operands of types ‘const char [249]’ and ‘const char [249]’ to binary ‘operator+’
system("export DISPLAY=:0 && tail -fn0 /var/log/auth.log | while read line ; do echo \"$line\" | grep \"Accepted\" ; if [ $? = 0 ] ; then notify-send \"Security Warning\" \"$(echo \"$line\" | grep \"Accepted\")\" -u critical -i /usr/local/alert/icon.png ; fi ; done &>" + log_path);
^
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2013, 17:06
Ответы с готовыми решениями:

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class mob { public: void...

Ошибка памяти при выполнении, при компиляции не выводит ошибки
ПОмогите плс программа вводит строку символов до точки, а после вычисляет процент согласных в этой...

Ошибки при компиляции
Ошибки: строки 25, 25, 27, 32. Условие задачи: Дан текст, состоящий из предложений, разделяемых...

Ошибки при компиляции
Error 8 error LNK2001: unresolved external symbol &quot;public: virtual void __thiscall...

7
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
29.08.2013, 17:21 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main(int argc, char *argv[])
{
   char log_path[249] = "";
   if(argc != 2)
   {
      strcpy(log_path, "/var/log/auth.log");
   }
   else
   {
      strcpy(log_path, argv[1]);
   }
   
   char str[500] = "export DISPLAY=:0 && tail -fn0 /var/log/auth.log | while read line ; do echo \"$line\" | grep \"Accepted\" ; if [ $? = 0 ] ; then notify-send \"Security Warning\" \"$(echo \"$line\" | grep \"Accepted\")\" -u critical -i /usr/local/alert/icon.png ; fi ; done &>";
   strcat(str, log_path);
   
   system(str);
}
1
4 / 4 / 0
Регистрация: 29.01.2013
Сообщений: 91
29.08.2013, 17:27  [ТС] 3
alsav22, Премного благодарен)
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
29.08.2013, 17:29 4
Или так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main(int argc, char *argv[])
{
   const char *log_path;
   if(argc != 2)
   {
      log_path = "/var/log/auth.log";
   }
   else
   {
      log_path = argv[1];
   }
   
   char str[500] = "export DISPLAY=:0 && tail -fn0 /var/log/auth.log | while read line ; do echo \"$line\" | grep \"Accepted\" ; if [ $? = 0 ] ; then notify-send \"Security Warning\" \"$(echo \"$line\" | grep \"Accepted\")\" -u critical -i /usr/local/alert/icon.png ; fi ; done &>";
   strcat(str, log_path);
   
   system(str);
}
1
26 / 26 / 0
Регистрация: 10.03.2010
Сообщений: 246
29.08.2013, 17:36 5
Цитата Сообщение от sssemil Посмотреть сообщение
const char log_path[249]
элементы массива изменять нельзя
1
4 / 4 / 0
Регистрация: 29.01.2013
Сообщений: 91
29.08.2013, 18:15  [ТС] 6
Теперь немного другая проблема...почкму то лог в нужный фаил не идет, а на консоль выводится(хотя если написать эту команду в терминале то все норм робит)
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
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
   char log_path[249] = "";
   if(argc != 2)
   {
      strcpy(log_path, "/var/log/ssh_alert.log");
   }
   else
   {
      strcpy(log_path, argv[1]);
   }
   
   char str[500] = "(export DISPLAY=:0 && tail -fn0 /var/log/auth.log | while read line ; do echo \"$line\" | grep \"Accepted\" ; if [ $? = 0 ] ; then notify-send \"Security Warning\" \"$(echo \"$line\" | grep \"Accepted\")\" -u critical -i /usr/local/alert/icon.png ; fi ; done) &> ";
   strcat(str, log_path);
   cout<<str<<endl;
   system(str);
}
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
29.08.2013, 18:22 7
Цитата Сообщение от sssemil Посмотреть сообщение
Теперь немного другая проблема...почкму то лог в нужный фаил не идет, а на консоль выводится(хотя если написать эту команду в терминале то все норм робит)
А где файл вообще? Я не вижу открытия.
0
4 / 4 / 0
Регистрация: 29.01.2013
Сообщений: 91
29.08.2013, 18:23  [ТС] 8
Цитата Сообщение от Nekto Посмотреть сообщение
А где файл вообще? Я не вижу открытия.
там запуск shell команды которая делает &> /log)
0
29.08.2013, 18:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2013, 18:23
Помогаю со студенческими работами здесь

Ошибки при компиляции
Если кто желает помочь и разомнуть свои навыки то прошу скомпилировать c++, я сам не смог, много...

Ошибки при компиляции
Вот такие ошибки у меня выдает при компиляции: error: stray ‘\320’ in program error: stray...

Ошибки при компиляции
Добрый день, задача : Занести в массив значения функции f (x, y) = x − y , 0 ≤ x...

Ошибки при компиляции
#include &lt;vcl.h&gt; #pragma hdrstop #include &quot;CDPlayer_.h&quot; #pragma package(smart_init) #pragma...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru