С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vermilionka
5 / 2 / 1
Регистрация: 18.07.2012
Сообщений: 54
#1

Копирование из переменной с начальной позиции до вычисленной - C++

24.07.2012, 17:58. Просмотров 503. Ответов 6
Метки нет (Все метки)

Как скопировать из переменной М знаки с 5го по endHr в новую переменную hreff

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
// begHr - начало копирования(всегда одинаково), endHr - конец копирования строки;
int i, begHr=5, endHr=0;
// М - строка char из которой нужно вытащить подстроку
    int lenhr = strlen(M);
    char * quot = "\"";
    char * quot2 = "\"";
    char quot3 = ' ';
    char * hreff="";
    for ( i = 0; i < lenhr; i++ )
    {
// если и-тый символ равен " и следующий равен пробелу, то:
        if ((M[i] == quot2[0]) && (M[i+1] == quot3 ))
        {
//записываем позицию 
            endHr = i;
 
//и тут я планировала скопировать из переменной М знаки с 5го по endHr в новую переменную hreff
 
        for (int j = 5; j < endHr; j++)
            {
                hreff = hreff + M[j];       
            }
 
            cout <<"\n"<< hreff;
            break;
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2012, 17:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Копирование из переменной с начальной позиции до вычисленной (C++):

Прочитать файл в обратном порядке т.е. встать в конец файла и прочитать до начальной позиции - C++
подскажите пожалуйста как можно прочитать файл в обратном порядке т.е. стать в конец файла и прочитать до начальной позиции?

Копирование строки с позиции - C++
Можно ли скорировать строку в определенном месте и с ограниченым число в Си. Т.е. К примеру: привет, Вася! как дела? Должно быть...

Копирование переменной по её указателю - C++
У меня есть функция main(), в которой static char Pass; очень быстро меняется, и отдельный поток с циклом, и вот беда: глобальная...

Файлы. Получить значения функции , вычисленной с заданной точностью e - C++
В бинарном файле записаны вещественные числа. Получить значения функции , вычисленной с заданной точностью e, для каждого числа,...

Передача вычисленной в методе Button переменной методу Timer - C++/CLI WinForms
Здравствуйте. Пользователь выбирает при нажатии кнопки файл записи данных. В результате я получаю в переменную path путь к этому файлу: ...

Построение шахматного поля с расставлением шашек в начальной позиции - Pascal ABC
Построение шахматного поля с расставлением шашек в начальной позиции.

6
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
24.07.2012, 18:10 #2
C++
1
2
3
4
5
int k=0;
for (int j = 5; j < endHr; j++, k++)
{
   hreff[k] = M[j];       
}
1
Vermilionka
5 / 2 / 1
Регистрация: 18.07.2012
Сообщений: 54
24.07.2012, 18:36  [ТС] #3
Intel~lect, ой блин как просто, если сработает будет офигенно! пока почему то прога тупит(консолька выдает ошибку и дальше прога не выполняется) вот здесь:
C++
1
 hreff[k] = M[j];
0
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
24.07.2012, 18:58 #4
Замени вот эту строчку:
C++
1
char * hreff="";
На эту.
C++
1
char hreff[20]="";
Размер строки конечно можно другой поставить
1
Vermilionka
5 / 2 / 1
Регистрация: 18.07.2012
Сообщений: 54
25.07.2012, 10:29  [ТС] #5
Цитата Сообщение от Intel~lect Посмотреть сообщение
Замени вот эту строчку:
C++
1
char * hreff="";
На эту.
C++
1
char hreff[20]="";
Размер строки конечно можно другой поставить
Спасибо Вам огромное! если можно еще вопрос. из-за чего или почему мне нужно сделать char hreff[ ] размерностью очень большой, когда я поставила char hreff[30], то вывелось полторы строки, поставила char hreff[100] и вуаля! - все вывел!(вроде эта переменная не собирает в себя hreff или все-таки...)
0
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
25.07.2012, 11:54 #6
Цитата Сообщение от Vermilionka Посмотреть сообщение
когда я поставила char hreff[30], то вывелось полторы строки, поставила char hreff[100] и вуаля! - все вывел!
Я не знаю что у вас за строка M и какой у нее размер. Но может все из-за того что просто нулевой символ '\0' не скопировался в hreff[30]; Места не хватило. И строка пулучилась как бы не завершенной. А когда поставила hreff[100] то он скопировался.
1
zss
Модератор
Эксперт С++
6580 / 6142 / 2024
Регистрация: 18.12.2011
Сообщений: 16,010
Завершенные тесты: 1
25.07.2012, 14:07 #7
не забудьте в конец скопированной строки добавить ноль
hreff[endHr]=0;
0
25.07.2012, 14:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2012, 14:07
Привет! Вот еще темы с ответами:

Копирование определенного количество знаков с указанной позиции в textbox - C#
Подскажите, как можно скопировать определенное количество знаков в textbox с указанной позиции??? Например, было число 0,02564345, а нужно...

Насчет позиции переменной в массиве - Turbo Pascal
Есть вопрос насчет позиции переменной в одномерном строковом массиве. Мне необходимо поменять местами минимальный элемент массива и...

Разместить значение переменной в заданной позиции на страничке - PHP
Подскажите, как разместить значение переменной в заданной позиции на страничке? Спасибо.

Выполнить выборку данных с нужной позиции, задаваемой переменной - C#
привет, как выбрать одну запись начиная например с N позиции?


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.