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

Изменение списка char - C++

Восстановить пароль Регистрация
 
sobiron236
 Аватар для sobiron236
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 6
24.11.2012, 20:27     Изменение списка char #1
Здравствуйте.
Возникла такая проблема. Необходимо извлеч часть строки, кроме последних символов. Например есть строка char *tmp="123:456:891"
необходимо извлечь и поместить в другую переменую только "123:456".

Как извлечь конец строки понимаю, например вот так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void) {
    
        char *first_word;
    first_word="dog:cat:bird:cow";
    char tmp_word[128];
 
    int i;
 
    for(i=strlen(first_word);i>0;i--)
    {
        if(first_word[i]==':') break;
    }
    i++;
    strcpy(tmp_word, &first_word[i]);
    printf("%s \n", tmp_word);
 
return 0;
}
выводит cow. А как передпть в другую переменную все кроме cow?
Заранее спасибо =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 20:27     Изменение списка char
Посмотрите здесь:

Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк C++
C++ Нахождение и изменение элемента двунаправленного кольцевого списка
C++ [Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive]
Ошибка в работе с файлами: error: incompatible types in assignment of ‘char*’ to ‘char* [255]’ C++
C++ Строка: чем отличается строки string, char, char*?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.11.2012, 20:34     Изменение списка char #2
sobiron236, strncpy
sobiron236
 Аватар для sobiron236
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 6
24.11.2012, 20:37  [ТС]     Изменение списка char #3
Цитата Сообщение от go Посмотреть сообщение
sobiron236, strncpy
Извините. а можно какуй нибудь простой пример? а то я как в тумане.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.11.2012, 20:54     Изменение списка char #4
C
1
2
3
4
5
6
char *first;
char *end; // указатель на !!!последний!!! нужный нам символ
char buf[BUFSIZ];
 
strncpy(buf, first, end - first + 1); // Но прежде проверте, чтобы размер буфера был на единицу больше, размера исходной строки
buf[end - first + 1] = '\0';
sobiron236
 Аватар для sobiron236
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 6
24.11.2012, 21:25  [ТС]     Изменение списка char #5
Дошло, спасибо огромное!!!
Yandex
Объявления
24.11.2012, 21:25     Изменение списка char
Ответ Создать тему
Опции темы

Текущее время: 04:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru