Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
sssemil
3 / 3 / 13
Регистрация: 29.01.2013
Сообщений: 91
#1

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

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

Привет. Помогите с ошибками разобратся:
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’
http://www.cyberforum.ru/cpp-beginners/thread2255589.html
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2013, 17:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибки при компиляции (C++):

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

Ошибки при компиляции
Функция принимает текстовую функцию и значение переменной и решает ее. long...

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

Ошибки при компиляции
я учусь по книге &quot;С++ для чайников Стефан Р. Девис 4-е издание&quot; и работаю в Dev...

Ошибки при компиляции
Помогите пожалуйста исправить ошибки которые в программе при компиляции...

7
alsav22
5438 / 4833 / 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
sssemil
3 / 3 / 13
Регистрация: 29.01.2013
Сообщений: 91
29.08.2013, 17:27  [ТС] #3
alsav22, Премного благодарен)
0
alsav22
5438 / 4833 / 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
eXtream
24 / 24 / 0
Регистрация: 10.03.2010
Сообщений: 164
29.08.2013, 17:36 #5
Цитата Сообщение от sssemil Посмотреть сообщение
const char log_path[249]
элементы массива изменять нельзя
1
sssemil
3 / 3 / 13
Регистрация: 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
Nekto
342 / 287 / 37
Регистрация: 23.03.2012
Сообщений: 838
29.08.2013, 18:22 #7
Цитата Сообщение от sssemil Посмотреть сообщение
Теперь немного другая проблема...почкму то лог в нужный фаил не идет, а на консоль выводится(хотя если написать эту команду в терминале то все норм робит)
А где файл вообще? Я не вижу открытия.
0
sssemil
3 / 3 / 13
Регистрация: 29.01.2013
Сообщений: 91
29.08.2013, 18:23  [ТС] #8
Цитата Сообщение от Nekto Посмотреть сообщение
А где файл вообще? Я не вижу открытия.
там запуск shell команды которая делает &> /log)
0
29.08.2013, 18:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2013, 18:23
Привет! Вот еще темы с решениями:

Ошибки при компиляции
Здравствуйте. При компиляции возникают такие ошибки помогите их исправить....

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

Ошибки при компиляции
Есть программа: #include &lt;stdio.h&gt; #include &lt;io.h&gt; #include &lt;iostream.h&gt; ...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru