Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364

Решил модифицировать код

24.09.2010, 17:22. Показов 1381. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил не загромождать себя многими кодами, и написал упрощенную программу. но выходят ошибки...
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
#include "av.h"
 
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm2::Button1Click(TObject *Sender)
{
int i;
int y;
if (CheckBox1->Checked == true)
{
  char str_file[100];
FILE* fp = fopen("processinfo.db","r");
if(fp != NULL)
{
 
char ch;
while((ch = getc(fp)) != EOF)
str_file[i++]=ch;
str_file[i] = '\0';
printf(str_file);
}
else Memo1->Lines->Add("Невозможно открыть базу данных");
fclose(fp);
 
 
 
while (y==i)
{
 StopAV(str_file[y]);
}
 
fclose(fp);
}
}
}
 
//---------------------------------------------------------------------------
C++
1
2
3
[C++ Warning] av.h(29): W8004 'term' is assigned a value that is never used
[C++ Error] Unit2.cpp(45): E2034 Cannot convert 'int' to 'char *'
[C++ Error] Unit2.cpp(45): E2342 Type mismatch in parameter 'antivirus' (wanted 'char *', got 'char')
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2010, 17:22
Ответы с готовыми решениями:

Задача 8 ферзей, модифицировать код, убрав рекурсию
#include&lt;iostream&gt; #include&lt;stdio.h&gt; using namespace std; const int N=8; int X; int Count; bool P(int X,int k,int y)...

Модифицировать код программы, вращающий геометрические объекты
Доброго времени суток! Есть следующий код написанный в BorlandC ...

Решил модифицировать комп
Вот параметры моего компа: Материнская плата: Модель-MS-7250, Производитель MSI Оперативная память- 2 ГБ Тип системы- 32 разрядная OC...

16
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
24.09.2010, 18:02
Цитата Сообщение от Gus Посмотреть сообщение
.выходят ошибки...
Эти ошибки говорят о том, что вам пора оставить в покое C++ Builder(VCL), и начать читать какую-нибудь книгу по C++ для начинающих.
2
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
24.09.2010, 18:25  [ТС]
Цитата Сообщение от rangerx Посмотреть сообщение
Эти ошибки говорят о том, что вам пора оставить в покое C++ Builder(VCL), и начать читать какую-нибудь книгу по C++ для начинающих.
Читал, А это не видно по коду ?????
просто иногда забывается что то....
Просто найти ошибку и исправить
0
10 / 10 / 2
Регистрация: 06.06.2010
Сообщений: 18
24.09.2010, 19:07
Ну а чему у вас i и y равны в начале???Может в этом косяк!
C++
1
int i=0,y=0;
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
24.09.2010, 23:24  [ТС]
Цитата Сообщение от Orlians Посмотреть сообщение
Ну а чему у вас i и y равны в начале???Может в этом косяк!
C++
1
int i=0,y=0;
Нет программа записывает в i количество строк, а потом с циклом передается все функции.
т.е

в массиве str_file содержатся имена процессов присваемые программой, и программа сканирует похожие имена процессов и закрывает их если таковы имеются.

Добавлено через 3 часа 1 минуту
Там вся проблема идет в том что, буилдер ругается на то что я пытаюсь управлять данными массива char переменной типа int вот то тут проблема вся....

Добавлено через 29 минут
В процессе выявления ошибки я наткнулся на одну странную закономерность что,
void StopAV(char* antivirus) имеет AnsiString а та переменная которую я передаю этой функции имеет вид обычного char a
C++
1
char str_file[100];
C++
1
2
3
str_file[i++]=ch;
str_file[i] = '\0';
StopAV(str_file[i]);
Помогите исправить это недорозумение.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
24.09.2010, 23:34
Цитата Сообщение от Gus Посмотреть сообщение
Читал, А это не видно по коду ?????
Неумение разобраться с ошибкой вида Cannot convert 'int' to 'char *' говорит само за себя.
Цитата Сообщение от Gus Посмотреть сообщение
просто иногда забывается что то....
Да, но не до такой же степени!.. Это азы.
Цитата Сообщение от Gus Посмотреть сообщение
Просто найти ошибку
Компилятор уже всё нашёл... Осталось только исправить...
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
24.09.2010, 23:39  [ТС]
Цитата Сообщение от rangerx Посмотреть сообщение
Неумение разобраться с ошибкой вида Cannot convert 'int' to 'char *' говорит само за себя.

Да, но не до такой же степени!.. Это азы.

Компилятор уже всё нашёл... Осталось только исправить...
Я выше написал степень моей ошибки. но как исправить ее, не представляю, забыл.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
24.09.2010, 23:47
Цитата Сообщение от Gus Посмотреть сообщение
void StopAV(char* antivirus) имеет AnsiString
Где в void StopAV(char* antivirus) AnsiString можно было разгладеть? ))
C++
1
StopAV(str_file); // char* antivirus = str_file
Добавлено через 7 минут
Переменные i и y не инициализированы(см. 4-й пост)
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
24.09.2010, 23:49  [ТС]
Цитата Сообщение от rangerx Посмотреть сообщение
Где в void StopAV(char* antivirus) AnsiString можно было разгладеть? ))
C++
1
StopAV(str_file); // char* antivirus = str_file
ну дык, я создавал, к примеру:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm2::Button1Click(TObject *Sender)
{
int i;
char* Pfile;
 
if (CheckBox1->Checked == true)
{
  char str_file[100];
FILE* fp = fopen("processinfo.db","r");
if(fp != NULL)
{
 
char ch;
while((ch = getc(fp)) != EOF)
str_file[i++]=ch;
str_file[i] = '\0';
Pfile = str_file[i];
StopAV(file);
Memo1->Lines->Add(str_file);
}
А теперь новая порция ошибок, прошу к столу.
C++
1
2
3
[C++ Error] Unit2.cpp(37): E2034 Cannot convert 'char' to 'char *'
[C++ Error] Unit2.cpp(38): E2108 Improper use of typedef 'file'
[C++ Warning] Unit2.cpp(51): W8004 'Pfile' is assigned a value that is never used
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
25.09.2010, 00:19
мда... чему по-твоему здесь
C++
1
Pfile = str_file[i];
у тебя должна стать равна переменная Pfile? Что ты вообще хочешь передать в функцию? Ты понимаешь разницу между указателем на символ и символом?
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
25.09.2010, 00:21  [ТС]
В функцию должно по идее передаватся символное значение т.е имя процесса которого нужно завершить.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
25.09.2010, 00:31
Так зачем ты читаешь файл посимвольно? Какой вид имеет содержимое файла processinfo.db? Простой список строк? Подробнее.
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
25.09.2010, 00:53  [ТС]
Верно

r_server.exe
vkhack.exe


итд.

Добавлено через 12 минут
Просто исходник нормальный можно ? если не сложно конечно
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
25.09.2010, 01:43
Т.к. билдера у меня нет, пример стандартный
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <fstream>
 
//............
 
std::ifstream inFile("processinfo.db");
std::string procName;
 
while( std::getline(inFile, procName) )
    StopAV( procName.c_str() ); // !!!
 
inFile.close();
либо в список, если нужно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <fstream>
#include <list>
#include <iterator>
 
typedef std::list<std::string> ProcList;
 
//...
 
std::ifstream inFile("processinfo.db");
ProcList procList( (std::istream_iterator<std::string>(inFile)),
                    std::istream_iterator<std::string>() );
inFile.close()
 
for(ProcList::iterator item = procList.begin(); item != procList.end(); ++item)
    StopAV( item->c_str() ); // !!!
В билдере, как и в дельфях, должен быть класс TStringList, если не ошибаюсь, так что можно использовать его(он проще).
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
25.09.2010, 11:21  [ТС]
Цитата Сообщение от rangerx Посмотреть сообщение
Т.к. билдера у меня нет, пример стандартный
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <fstream>
 
//............
 
std::ifstream inFile("processinfo.db");
std::string procName;
 
while( std::getline(inFile, procName) )
    StopAV( procName.c_str() ); // !!!
 
inFile.close();
либо в список, если нужно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <fstream>
#include <list>
#include <iterator>
 
typedef std::list<std::string> ProcList;
 
//...
 
std::ifstream inFile("processinfo.db");
ProcList procList( (std::istream_iterator<std::string>(inFile)),
                    std::istream_iterator<std::string>() );
inFile.close()
 
for(ProcList::iterator item = procList.begin(); item != procList.end(); ++item)
    StopAV( item->c_str() ); // !!!
В билдере, как и в дельфях, должен быть класс TStringList, если не ошибаюсь, так что можно использовать его(он проще).
Видимо билдер зол на меня опять ошибка
C++
1
cannot to convert const char to char*
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
25.09.2010, 11:30
измени void StopAV(char* antivirus) на void StopAV(const char* antivirus)
1
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
25.09.2010, 12:31  [ТС]
Спасибо мужик , все заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.09.2010, 12:31
Помогаю со студенческими работами здесь

Модифицировать код так, чтобы в случае если будут введены буквы код выдавал ошибку
#include &lt;iostream&gt; #include &lt;climits&gt; #include &lt;windows.h&gt; using namespace std; int main() { setlocale(LC_ALL,...

Модифицировать код
Нужно для mas использовать тип db вместо dw MASM MODEL small STACK 256 .data mas1 db 'ne raven 0!$', 0ah, 0dh mas2 db...

Модифицировать код
Здравствуйте! Дан пример программы, которая меняет заголовок окна. Пожалуйста, помогите модифицировать код так, чтобы программа сначала...

Модифицировать код сортировки
Помогите пожалуйста я написал сортировку, мне нужно что бы Write не было, можете помочь? Ну я имею ввиду заменить Write на что то другое ...

Модифицировать код добавлением if и else
Доброго времени cуток! Помогите модифицировать код. Требуется добавить if и else помогите это сделать. Даю два примера кода. ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru