Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
17 / 17 / 0
Регистрация: 23.01.2011
Сообщений: 61

C++ Ошибка сегментирования

17.03.2011, 20:36. Показов 9648. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот листинг файла:
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
#include <fstream>
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    char theFile[81], theChar;
    cout << "Введите название файла: ";
    cin.get(theFile, 81);
    cout << "Файл: " << theFile << " ... " << endl;
 
    ifstream fin(theFile);
    ofstream fout("output");
 
    vector<char> theTextSpace;
 
    for(int i=0; fin.get(theChar) ; i++)
    {
        theTextSpace[i] = theChar;
    }
 
    for(int i=0; i<theTextSpace.size() ; i++)
    {
        cout << theTextSpace[i] << " ";
    }
 
    fin.close();
    fout.close();
 
    return 0;
}
На этом этапе после ввода имени файла выводит ошибку сегментирования и завершает работу. За алгоритм не ругайте, это далеко не готовая прога. Просто не пойму, на что может ругаться ofstream? ОС Linux, права выставлены ради эксперимента все.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2011, 20:36
Ответы с готовыми решениями:

Ошибка в коде (Ошибка сегментирования (core dumped)
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

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

Ошибка сегментирования
Всем привет. Ситуация такая: У меня есть g++ версии &quot;gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)&quot; Написал простенькую...

5
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
17.03.2011, 20:43
Цитата Сообщение от von_Manstein Посмотреть сообщение
theTextSpace[i] = theChar;
Попробуйте заменить на
C++
1
theTextSpace.push_back(theChar);
1
17 / 17 / 0
Регистрация: 23.01.2011
Сообщений: 61
17.03.2011, 20:48  [ТС]
Спасибо, работает! Только пока не пойму как и почему не работал мой вариант? Не подскажете, так сказать, на будущее?
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
17.03.2011, 21:01
von_Manstein, Да все определенно просто, что бы использовать перегруженый оператор [], надо задавать размер вектора явно, тоесть так
C++
1
vector<char> theTextSpace(10);
1
17 / 17 / 0
Регистрация: 23.01.2011
Сообщений: 61
17.03.2011, 21:03  [ТС]
Понял, спасибо за науку, в моём случае не канает, ибо не знаю размер файла точно (рассчитано под разные файлы), и потому он и динамически расширяться не может, этот вектор. А в Вашем примере он добавляет необходимую длину, увеличиваясь, чтобы вместить всё что надо. Так понял?
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
17.03.2011, 21:51
Цитата Сообщение от von_Manstein Посмотреть сообщение
А в Вашем примере он добавляет необходимую длину, увеличиваясь, чтобы вместить всё что надо. Так понял?
Да, в принципе, это так.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.03.2011, 21:51
Помогаю со студенческими работами здесь

ошибка сегментирования
При запуске скомпилированной (gcc) программы выскакивает ошибка сегментирования, а при запуске ее же в дебагере (gdb) -- program exited...

Ошибка сегментирования
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;unistd.h&gt; #include &lt;fcntl.h&gt; #include &lt;string.h&gt; using...

Ошибка сегментирования
Добрый день, возникла проблема: Вот программа, суть из исходного файла у слов удаляется окончание 's' (если оно присутствует), плюс даны...

Ошибка сегментирования
Написал я быдлокодик, вроде компилируется даже. Но при запуске под Linux'ом вылетает ошибка сегментирования, не могу понять откуда она. ...

Ошибка сегментирования
Здравствуйте. Ниже моя реализация алгоритма Крускала. Проблема заключается в том, что на этапе добавления элемента через функцию...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru