Форум программистов, компьютерный форум CyberForum.ru

Ошибка strcat ...segmentation fault - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ алгоритмы хеширования http://www.cyberforum.ru/cpp-beginners/thread346485.html
может кто-нибудь подсказать, где можно почитать про хеширование и посмтотреть непосредственно реализации на С больше всего интересует хеш TTH, но можно и другие, желательно не сложные. Хотелось бы попробовать реализовать какой-нибудь.
C++ Порядок инициализации предков class A {...}; class B {...}; class C : A,B { private: int Var; public: C(const int &v) : A(&Var), B(&Var) { Var=v+5; } }; http://www.cyberforum.ru/cpp-beginners/thread346457.html
C++ Помогите решить ошибку
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\Developed\Desktop\Новая папка\Code\Solutions\..\..\Bin32\DwDll.dll) не соответствует значению свойства выходного файла (C:\Users\Developed\Desktop\Новая папка\Bin32\DVC.dll) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь,...
C++ Проверка числа на чётность
Какой из этих способов работает быстрее if (!(a%2)) или if (!(a&1))
C++ Поток stdin http://www.cyberforum.ru/cpp-beginners/thread346415.html
Доброго времени суток. Ситуация следующая: пытаюсь расширить свои знания в программировании на С++, поэтому начал читать книгу Коплиена "Advanced C++Programming Styles and Idioms". Поставило в тупик следующее упражнение: Усовершенствуйте класс Stack так, чтобы следующий фрагмент создавал стек и читал его элементы из потока stdin (или любого другого заданного потока) до обнаружения признака...
C++ Диалог открытия файлов и запись в файл Привет всем! Возникла такая проблема: получаю из диалога открытия файла имя файла, в который нужно что-то записать. Вот фрагмент кода: private: System::Void openButton_Click(System::Object^ sender, System::EventArgs^ e) { //Запуск диалога if (mainOpenFileDialog->ShowDialog()==System::Windows::Forms::DialogResult::OK) { //Преобразование строки char... подробнее

Показать сообщение отдельно
OLLEGATOR
Linux-оид
 Аватар для OLLEGATOR
115 / 64 / 3
Регистрация: 15.02.2011
Сообщений: 353
30.08.2011, 00:59     Ошибка strcat ...segmentation fault
имеется функция показывает что segmentation fault(только в режиме дебага) в красных строках...а при компиляции ошибки не показывает...странно..подскажи ошибка в строке 32 и 43

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
void Fix_Grub(char *weight_and_hight){ // Правим Grub...
 
    FILE *f=fopen("/etc/default/grub","r");
    if(!f) printf("Ошибка: fix grub 1");
 
    fseek(f,0,SEEK_END); // Чтобы узнать кол-во символов...указатель в конец...
 
    int kolvo=ftell(f);
 
    char *temp=malloc(kolvo*sizeof(char)); // Для первого считывания...
 
    fseek(f,0,SEEK_SET); // Возвращаем указатель в начало...
 
    fread(temp,sizeof(char),kolvo,f); // Считали содержимое grub...
 
    char *target="GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash\""; // Что ищем на замену...
    char *target_2="#GRUB_GFXMODE=640x480"; // Правим дальше граб...
    char *one="GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash nomodeset video=uvesafb:mode_option="; // Сначала ставим это
    char *two=",mtrr=3,scroll=ywrap\""; // потом weight_and_hight, а потом two...
    char *three="GRUB_GFXMODE="; // Последняя вставка...
 
    char *ready_1=malloc((strlen(temp)-strlen(target)+strlen(one)+strlen(weight_and_hight)+strlen(two)+1)*sizeof(char)); // Для первой поправки...
    char *t; // Указатель поиска...
 
    strcpy(ready_1,""); // Чистка...
    t=strstr(temp,target); // Сдвигаем указатель до нужного момента...
 
    strncat(ready_1,temp,t-temp); //Скопировать всё что нам подходит...
    strcat(ready_1,one);                //  Подгонка под
    strcat(ready_1,weight_and_hight);   //   наше
    strcat(ready_1,two);                //  разрешение...
    strcat(ready_1,t+strlen(target));// Дописываем всё после нашей вставки...теперь Ready_1 содержит первое исправление..приступаем ко второму )) 
    strcat(ready_1,"\0"); // Завершение строки...
 
    char *release=malloc((strlen(ready_1)-strlen(target_2)+strlen(three)+strlen(weight_and_hight)+1)*sizeof(char)); // Результат...
 
    strcpy(release,""); // Чистка...
    t=strstr(ready_1,target_2); // Сдвигаем указатель до нужного момента...
 
    strncat(release,ready_1,t-ready_1); // Копируем предыдущую обработанную инфу...
    strcat(release,three);                  // Подгонка
    strcat(release,weight_and_hight);       // под
    strcat(release,t+strlen(target_2));     // наше разрешение... 
    strcat(release,"\0"); // Завершение строки...
    fclose(f); // Закрываем что-бы его переписать...
 
    FILE *f_2=fopen("/etc/default/grubqwerty","w");
    if(!f_2) printf("Ошибка grub! В создании результата...");
 
    fwrite(release,sizeof(char),strlen(release),f_2); // Перезаписываем grub...
    fclose(f_2);
 
    free(release);
    free(ready_1);
    free(temp);
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru