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

Сравнение подстрок - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру с именем ZNAK http://www.cyberforum.ru/cpp-beginners/thread30339.html
Описать структуру с именем ZNAK, содержащую следущие поля:NAME - фамилия, имя; ZODIAC - знак зодиака;BDAY - день рождения(массив из трех чисел) и сформировать массив BOOK состоящий из восьми сруктур...
C++ Двумерный массив Дана матрица размера N*M.Найти наименьший элемент среди элементов тех столбцов, в которых нет чётных чисел. Написать программу. http://www.cyberforum.ru/cpp-beginners/thread30338.html
C++ Перемножение элементов массива
Добрый день. Вот, столкнулся с не пониманием того, как перемножить все элементы в массиве. Есть массив, уже составленный, ввиде двойного факториала с определенным шагом. Нужно перемножить все...
C++ Ошибка при компиляции
Я начинающий при компиляции в DEV-C++ выдаёт Compiler: Default compiler Building Makefile: "C:\Dev-Cpp\Makefile.win" Executing make... make.exe -f "C:\Dev-Cpp\Makefile.win" all make.exe: ***...
C++ Задача с файлом и функцией http://www.cyberforum.ru/cpp-beginners/thread30313.html
Мне была задана такая задача: Для хранения данных о ноутбуках описать структуру вида (при необходимости дополнив ее): struct NOTEBOOK { char model; // наименование struct size { // габаритные...
C++ проблемы с линковкой Возникла проблема. Нашел на другом форуме точную формулировку своей проблемы. Решение той проблемы не описано. Прошу помочь: Hi All, I've built the arm-elf tool chain with the following gcc... подробнее

Показать сообщение отдельно
Telchar
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 6

Сравнение подстрок - C++

16.04.2009, 20:47. Просмотров 1266. Ответов 0
Метки (Все метки)

Здравствуйте. Не пойму, что за ошибка у меня.
Задана строка. Есть файл с длинной строкой. Мне нужно открыть файл и разделить находящуюся там строку на подстроки. А затем посимвольно сравнить подстроки с заданной строкой. Файл содержит строку следующего вида:
"aaaassssssbbbbdbbdbbbddddddddbbdkkkkkddddccccccccccc.............bbbbbccc"
Вот, как я делаю:
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
FILE * file;
 
CString str1 = "aaabbbbcccccddddd.....aaaa"; // длина равна 100 символам
CString c;
 
char str2[100];
 
file = fopen("_файл_", "r");
if(file == NULL) {
     printf("\n Файл не найден...\n\n"); 
     Sleep(1000);
     exit(1);
}
 
while(fgets(str2, 101, file)) 
{
    CString str_new = str2;
    for(int i=0; i<strlen(str1); i++) {
         if(str_new.Mid(i,1) == str1.Mid(i,1)) { // посимвольно проверяю обе строки
         c = "1"; // если символы равны - пишу единицу
         } else {
             c = "0"; // иначе - записываю ноль
    }
        
}
ошибок и ворнингов при компиляции нету, но сама программа вылетает с эррором....
т.е. предположительно дело в этом char str2[100]; но знаний и опыта очень мало, что в коде не так? подскажите пжлста =/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru