Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sssemil
3 / 3 / 1
Регистрация: 29.01.2013
Сообщений: 91
#1

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

29.08.2013, 17:06. Просмотров 1192. Ответов 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’
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++):

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

Ошибки при компиляции - C++
я учусь по книге &quot;С++ для чайников Стефан Р. Девис 4-е издание&quot; и работаю в Dev C++ вот программа: // FunctionDemo — äåìîíñòðàöèÿ...

Ошибки при компиляции - C++
#include &lt;vcl.h&gt; #pragma hdrstop #include &quot;CDPlayer_.h&quot; #pragma package(smart_init) #pragma resource &quot;*.dfm&quot; TForm1 *Form1; ...

Ошибки при компиляции - C++
весь текст программы, и его компилятор перестал выполнять #include &lt;iostream.h&gt; int main () { system(&quot;pause&quot;); } По ошибкам: ...

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

Ошибки при компиляции - C++
Вот такие ошибки у меня выдает при компиляции: error: stray ‘\320’ in program error: stray ‘\260’ in program Что это может быть?

7
alsav22
5428 / 4823 / 442
Регистрация: 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 / 1
Регистрация: 29.01.2013
Сообщений: 91
29.08.2013, 17:27  [ТС] #3
alsav22, Премного благодарен)
0
alsav22
5428 / 4823 / 442
Регистрация: 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 / 1
Регистрация: 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 / 10
Регистрация: 23.03.2012
Сообщений: 838
29.08.2013, 18:22 #7
Цитата Сообщение от sssemil Посмотреть сообщение
Теперь немного другая проблема...почкму то лог в нужный фаил не идет, а на консоль выводится(хотя если написать эту команду в терминале то все норм робит)
А где файл вообще? Я не вижу открытия.
0
sssemil
3 / 3 / 1
Регистрация: 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
Привет! Вот еще темы с ответами:

Ошибки при компиляции - C++
E2034 Cannot convert 'int' to 'char *' E2342 Type mismatch in parameter 'roman' (wanted 'char *', got 'char') #include &lt;string.h&gt; ...

Ошибки при компиляции - C++
struct XYZ { double x, y, z; } double sqr(double x) {return x * x; } void CalcNormals(XYZ a, XYZ b, XYZ c, XYZ&amp; n) { ...

Ошибки при компиляции - C++
Есть программа: #include &lt;stdio.h&gt; #include &lt;io.h&gt; #include &lt;iostream.h&gt; #define MEN 2 #define LF 10 #define SPACE 32 ...

Ошибки при компиляции - C++
Error 8 error LNK2001: unresolved external symbol &quot;public: virtual void __thiscall Shape::Print(void)&quot; (?Print@Shape@@UAEXXZ) ...


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

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

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