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

Удаление символа из строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ First-chance exception at 0x772dd3c1 in wrhg_killer.exe: 0x40010005: Control-C http://www.cyberforum.ru/cpp-beginners/thread234789.html
У меня такая ситуация. Запускаю приложение из своей программы. Запущенное приложение работает до тех пор, пока пользователь из него не выйдет. В приложении прописан выход ctrl-c. Если просто...
C++ Множество возвращаемое функцией как результат Помогите пожалуйста с возвратом множества, как результата работы функции. int Cross(){ set<int> b; for(is=s.begin();is!=s.end();is++) for(iq=q.begin();iq!=q.end();iq++){ if(*is==*iq){... http://www.cyberforum.ru/cpp-beginners/thread234756.html
Точка пересечения 2 прямых в пространствае C++
Помогите кто может!!! Нужен код проги н С++, которая определяет координаты точки пересечения 2 отрезков. Заданы координаты начала и конца отрезков( ). Если отрезки не пересикаются то она должна об...
C++ Структура Student
Описать структуру с именем Student , содержащую следующие поля -фамилия -номер группы -успеваемость массив из 5 элементов написать программу ввод с клавиатеры данных в массив,состоящих из...
C++ Массив http://www.cyberforum.ru/cpp-beginners/thread234719.html
Помогите пожалуйста написать массив, который будет выводить все нечётные числа (1,3,5,7,9 и так далее).
C++ Не могу вытащить string из управляемого кода Здравствуйте! столкнулся с проблемой вытаскивания строки из c# в с++... есть код на c# namespace MyInterop { public interface IMyDotNetInterface2 { int Add(int Number1, int... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
09.08.2011, 11:42
Fra Dolcino, мой вариант на Си:
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
58
59
60
61
62
63
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define SIZE 80
 
typedef int (*Pred)(char);
 
char* copyIf(char* dest, const char* src, Pred p);
int skip_NL_and_backslash(char);
 
int main(int argc, char* argv[])
{
    FILE* src;
    FILE* dst;
 
    char src_buf[SIZE];
    char dst_buf[SIZE];
    
    if(argc != 3)
    fprintf(stderr, "Usage: %s SOURCE DEST\n", *argv), exit(1);
 
    if((src = fopen(argv[1], "r")) == NULL)
    perror(argv[1]), exit(1);
 
    if((dst = fopen(argv[2], "w")) == NULL)
    perror(argv[2]), exit(1);
 
    while(fgets(src_buf, SIZE, src))
    {
    copyIf(dst_buf, src_buf, skip_NL_and_backslash);
 
    if(fputs(dst_buf, dst) == EOF)
        perror(argv[2]), exit(1);
    }
 
    if(ferror(src))
    perror(argv[1]), exit(1);
 
    fclose(src);
    fclose(dst);
    
    exit(0);
}
 
char* copyIf(char* dest, const char* src, Pred p)
{
    char* start = dest;
    
    while(*src)
    {
        if(p(*src))
            *dest++ = *src;
        ++src;
    }
    *dest = '\0';
    return start;
}
 
int skip_NL_and_backslash(char c)
{
    return strchr("\n\r\\", c) == NULL;
}
Пример использования:
Код
[nameless@desktop c]$ cat test.txt
\foo
bar\ baaz
quuz
[nameless@desktop c]$ ./sample test.txt output.txt && cat output.txt
foobar baazquuz[nameless@desktop c]$
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru