Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
2 / 2 / 2
Регистрация: 10.11.2013
Сообщений: 24

Как заставить работать прогу без Visual Studio?

03.12.2013, 00:42. Показов 1401. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот написал программу на заказ, в студии работает, а вот если запускаю exe файл вне студии то прога завершает работу
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include <fstream>      // Бібліотека для роботи з файлами
 
using namespace std;
 
char* ReadLine(ifstream* File);                     // Функція для читання рядка з файлу
char* DeleteComents(char* String);                  // Функція для видалення коментарів
void WriteString(ofstream* File, char* String);     // Функція для запису рядка у новий файл
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "Rus");                       // Функція для виводу кирилиці в консоль
    int StringCount = 0;                            // Змінна для обчислення кількості рядків
    char* filename1 = new char[];
    cout << "Введiть назву файла для читання: " << endl;
    cin >> filename1;
    ifstream* File1 = new ifstream(filename1);      // Відкриваємо потік для читання з файлу
    if (!File1->is_open())
    {
        cerr << "Такого файла неiснує" << endl;
        system("pause");
        return 0;
    }
    char* filename2 = new char[];
    cout << "Введiть назву файла для запису: " << endl;
    cin >> filename2;
    ofstream* File2 = new ofstream(filename2);      // Відкриваємо потік для запису в файл
    if (!File2->is_open())
    {
        cerr << "Невдалося створити файл " << filename2 << endl;
        system("pause");
        return 0;
    }
    while (!File1->eof())                           // Цикл поки не кінець файлу
    {
        char* String = ReadLine(File1);             // Читаємо рядок
        String = DeleteComents(String);             // Видаляємо коментарі
        WriteString(File2, String);                 // Записуємо рядок у новий файл
        StringCount++;                              // Збільшуємо кількість рядків на 1
    }
    File1->close();                                 // Закриваємо файловий потік файлу читання   
    delete File1;                                   // Видаляємо покажчик на файл читання
    File2->close();                                 // Закриваємо файловий потік файлу запису
    delete File2;                                   // Видаляємо покажчик на файл запису
    cout << "Кiлькiсть рядкiв в файлi " << filename1 << ": "
        << StringCount << endl
        << "Коментарi видаленi i результат записано до файлу: "
        << filename2 << endl;
    system("pause");                                // Затримка
    return 0;
}
 
char* ReadLine(ifstream* File)
{
    char* Line = new char[500];         // Масив для зберігання рядка
    char* ptr = Line;                   // Покажчик на масив
    do
    {
        File->get(*ptr);                // Зчитуємо символ
        ptr++;                          // Рухаемо покажчик на наступний елемент
    } while (*(ptr - 1) != '\n');           // Цикл поки не знайдемо символ переносу каретки
    return Line;                        // Повертаємо зчитаний рядок
}
 
char* DeleteComents(char* String1)
{
    for (int i = 0; i < 500; i++)
    {
        if (String1[i] == '/' && String1[i + 1] == '/') // Якщо стоїть коментар
        {
            String1[i] = '\n';                          // Міняємо його на символ переносу
            for (int j = i + 1; j < 500; j++)
            {
                String1[j] = ' ';                       // Інші симоли заміняємо пропусками
            }
            break;                                      // Виходимо з циклу
        }
    }
    return String1;                                     // Повертаємо модифікований рядок
}
 
void WriteString(ofstream* File, char* String1)
{
    for (int i = 0; i < 500; i++)
    {
        File->put(String1[i]);              // Записуємо рядок в файл посимвольно
        if (String1[i] == '\n') { break; }  // Якщо символ переносу каретки то виходимо
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2013, 00:42
Ответы с готовыми решениями:

Как заставить проэкт работать в Visual Studio 2010?
Доброго времени суток! Люди пожалуста помогите, вчера поставил себе Microsoft Visual Studio 2010. Создал новый проэкт C++, Win32 Console...

Как заставить Visual Studio 2012 создавать новый проект ASP.NET Web Application без своих заготовок?
Долгое время у меня стояла Visual Studio 2008. Как-то привык к ней. Теперь стоит 2012-ая версия. Тоже очень понравилась, решил пересесть на...

Как заставить прогу без введения в автозапуск,запускатся с Windows ???
Хотелось,чтобы просто если запустился windows,то и программа,без первоночального ввода в автозапуск. Как это сделать ???

6
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
03.12.2013, 00:45
Собери проект в Release конфигурации. Сейчас у тебя стоит Debug(отладка)
0
2 / 2 / 2
Регистрация: 10.11.2013
Сообщений: 24
03.12.2013, 01:32  [ТС]
Я в релиз и собрал

Добавлено через 43 минуты
Ап++
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
03.12.2013, 02:04
Цитата Сообщение от riki34 Посмотреть сообщение
Я в релиз и собрал
- хорошо тогда анализируем код
Цитата Сообщение от riki34 Посмотреть сообщение
char* filename2 = new char[];
- ты где такое видел?
http://codepad.org/ueaSpW3G
В квадратных скобках должно стоять конкретное количество символов + 1 под которое алокаем память.
Если не в моготу и хочется ВЛА то юзай std::string;

C++
1
2
string filename;
getline(cin, filename);
0
Заблокирован
03.12.2013, 02:06
Составить программу на С++
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
03.12.2013, 02:09
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <fstream>      // Á³áë³îòåêà äëÿ ðîáîòè ç ôàéëàìè
 
using namespace std;
 
char* ReadLine(ifstream* File);                     // Ôóíêö³ÿ äëÿ ÷èòàííÿ ðÿäêà ç ôàéëó
char* DeleteComents(char* String);                  // Ôóíêö³ÿ äëÿ âèäàëåííÿ êîìåíòàð³â
void WriteString(ofstream* File, char* String);     // Ôóíêö³ÿ äëÿ çàïèñó ðÿäêà ó íîâèé ôàéë
 
int main(int argc, char* argv[])
{
    setlocale(LC_CTYPE, ".866");                       // Ôóíêö³ÿ äëÿ âèâîäó êèðèëèö³ â êîíñîëü
    int StringCount = 0;                            // Çì³ííà äëÿ îá÷èñëåííÿ ê³ëüêîñò³ ðÿäê³â
    char* filename1 = new char[256];
    wcout << L"Ââåäiòü íàçâó ôàéëà äëÿ ÷èòàííÿ: " << endl;
    cin >> filename1;
    ifstream* File1 = new ifstream(filename1);      // ³äêðèâàºìî ïîò³ê äëÿ ÷èòàííÿ ç ôàéëó
    if (!File1->is_open())
    {
        wcerr << L"Òàêîãî ôàéëà íåiñíóº" << endl;
        system("pause");
        return 0;
    }
    char* filename2 = new char[256];
    wcout << L"Ââåäiòü íàçâó ôàéëà äëÿ çàïèñó: " << endl;
    cin >> filename2;
    ofstream* File2 = new ofstream(filename2);      // ³äêðèâàºìî ïîò³ê äëÿ çàïèñó â ôàéë
    if (!File2->is_open())
    {
        wcerr <<L"Íåâäàëîñÿ ñòâîðèòè ôàéë " << filename2 << endl;
        system("pause");
        return 0;
    }
    while (!File1->eof())                           // Öèêë ïîêè íå ê³íåöü ôàéëó
    {
        char* String = ReadLine(File1);             // ×èòàºìî ðÿäîê
        String = DeleteComents(String);             // Âèäàëÿºìî êîìåíòàð³
        WriteString(File2, String);                 // Çàïèñóºìî ðÿäîê ó íîâèé ôàéë
        StringCount++;                              // Çá³ëüøóºìî ê³ëüê³ñòü ðÿäê³â íà 1
    }
    File1->close();                                 // Çàêðèâàºìî ôàéëîâèé ïîò³ê ôàéëó ÷èòàííÿ  
    delete File1;                                   // Âèäàëÿºìî ïîêàæ÷èê íà ôàéë ÷èòàííÿ
    File2->close();                                 // Çàêðèâàºìî ôàéëîâèé ïîò³ê ôàéëó çàïèñó
    delete File2;                                   // Âèäàëÿºìî ïîêàæ÷èê íà ôàéë çàïèñó
    wcout << L"Êiëüêiñòü ðÿäêiâ â ôàéëi ";
    cout  << filename1 << ": "<< StringCount << endl;
    wcout << L"Êîìåíòàði âèäàëåíi i ðåçóëüòàò çàïèñàíî äî ôàéëó: "<< filename2 << endl;
    system("pause");                                // Çàòðèìêà
    return 0;
}
 
char* ReadLine(ifstream* File)
{
    char* Line = new char[500];         // Ìàñèâ äëÿ çáåð³ãàííÿ ðÿäêà
    char* ptr = Line;                   // Ïîêàæ÷èê íà ìàñèâ
    do
    {
        File->get(*ptr);                // Ç÷èòóºìî ñèìâîë
        ptr++;                          // Ðóõàåìî ïîêàæ÷èê íà íàñòóïíèé åëåìåíò
    } while (*(ptr - 1) != '\n');           // Öèêë ïîêè íå çíàéäåìî ñèìâîë ïåðåíîñó êàðåòêè
    return Line;                        // Ïîâåðòàºìî ç÷èòàíèé ðÿäîê
}
 
char* DeleteComents(char* String1)
{
    for (int i = 0; i < 500; i++)
    {
        if (String1[i] == '/' && String1[i + 1] == '/') // ßêùî ñòî¿òü êîìåíòàð
        {
            String1[i] = '\n';                          // ̳íÿºìî éîãî íà ñèìâîë ïåðåíîñó
            for (int j = i + 1; j < 500; j++)
            {
                String1[j] = ' ';                       // ²íø³ ñèìîëè çàì³íÿºìî ïðîïóñêàìè
            }
            break;                                      // Âèõîäèìî ç öèêëó
        }
    }
    return String1;                                     // Ïîâåðòàºìî ìîäèô³êîâàíèé ðÿäîê
}
 
void WriteString(ofstream* File, char* String1)
{
    for (int i = 0; i < 500; i++)
    {
        File->put(String1[i]);              // Çàïèñóºìî ðÿäîê â ôàéë ïîñèìâîëüíî
        if (String1[i] == '\n') { break; }  // ßêùî ñèìâîë ïåðåíîñó êàðåòêè òî âèõîäèìî
    }
}
- алгоритм не смотрел, просто прлбил русский для всех версий студии и выделил по человечески память для отведенных под путь к файлу переменных
1
2 / 2 / 2
Регистрация: 10.11.2013
Сообщений: 24
03.12.2013, 04:01  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
char* filename2 = new char[];
- ты где такое видел?
Ну вообще то если написать new char[] то студия выделит где то 30 байт под массив, ну это не важно.
Попробовал debug и выдало ошибку вот здесь
C++
1
char* String = ReadLine(File1);
нарушение прав доступа при чтении по адресу 0x00BC1000,
хотя когда запускаю в студии ничего такого не вылетает

Добавлено через 17 минут
А что ещё более странно, Debug версия прекрасно работает без студии.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2013, 04:01
Помогаю со студенческими работами здесь

как прогу заточить по MS Visual Studio 2010
В дев с++ этот код работает без проблем...как заточить его под MS visual studio 2010 #include &lt;cstdlib&gt; #include...

Как заставить работать без включения?
На Сабе пульт сломался, тему почти завершили, заработал почти. При подсоединении выхода аудио с компа к левым выходам резисторов R12-R17 и...

Сделать конструктор или заставить прогу работать
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Хотел сделать &quot;генератор...

Как заставить работать игру без диска?
У меня пример: Я скачал Ярость, но после установки просит вставить диск с игрой.(у меня копия диска в архиве iso, а записывать на диск...

Как заставить программу работать без остановки?
Здравствуйте, недавно начал изучать objective-c. И вот вопрос, например есть код и как его работать без остановки, а то я ввожу value1 и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru