Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Для чего нужна функция escape
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
sano32 sano32 вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.12.2010
По умолчанию Для чего нужна функция escape - 17.03.2011, 19:25

добрый вечер. Нужно написать функцию escape (s,t), которая при копировании текста из t в s преобразует такие символы, как новая строка и табуляция в "видимые последовательности символов" (вроде \n и \t). Используйте инструкцию switch. вот код:
c Код:
#include <stdio.h>
#include <string.h>

void escape(char s[], char t[]);
int main()
{
    char s[100],t[100];
    printf("Введите текст: \n");
    scanf("%s", s);
    escape(s,t);
    printf("%s",t);
    return 0;
}

void escape(char s[], char t[])
{
    int i, j;
    i=0;
    j=0;
    while(s[i]!='\0')
    {
        switch(s[i])
        {
            case '\n':
            t[j]='\\';
            j++;
            t[j]='n';
            j++;break;
            case '\t':
            t[j]='\\';
            j++;
            t[j]='t';
            j++;break;
            default: t[j]=s[i];
            j++;
            }
        i++;
        }
    }
только работает некорректно. Подскажите в чем ошибка
Ответить с цитированием
  (#2 (permalink)) Старый
Angel5a Angel5a вне форума
Member
 
Сообщений: 1,213
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2005
По умолчанию 17.03.2011, 22:25

В чем заключается её некорректная раборта ? Не хватает только t[j]='\0'; в конце функции после цикла, а так все норм.
Ответить с цитированием
  (#3 (permalink)) Старый
sano32 sano32 вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.12.2010
По умолчанию 18.03.2011, 09:14

функция выводит строку до первого Tab. Добавил,как посоветовали, ничего не изменилось
Ответить с цитированием
  (#4 (permalink)) Старый
Angel5a Angel5a вне форума
Member
 
Сообщений: 1,213
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2005
По умолчанию 18.03.2011, 21:24

Видители, вынкция выводит всё что ей предали, а вот передается ей не всё что вы ввели, ибо конструкция scanf("%s", s); читает до первого пробельного символа на сколько мне известно. Надо переписать основную программу навроде такого:
Код:
char c;
int i = 0;
while((c = getchar()) != EOF && i < sizeof(s) - 1) {
 s[i++] = c;
}
s[i] = '\0';
escape(s,t);
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция expand для чего она нужна sano32 С/С++ 1 23.03.2011 09:39
Нужна функция, возвращающая максимальный элемент списка kvarc Lisp 8 01.06.2010 07:18
Для чего нужна функция востановления системы? alex95 Любые вопросы от новичков 29 06.09.2008 19:41
Процессор Q6600 требует поддержку PCG 06, для чего нужна эта функция? НИКОЛАЙ DFKTYNBYJDBX Любые вопросы от новичков 5 22.08.2008 12:40
Для чего нужна функция fprintf oh С/С++ 3 17.12.2006 21:14
Рекурсия для чего она нужна Marla Singer С/С++ 5 02.12.2006 11:54
Декодирование результата от ESCAPE lex-555 C++ на Unix 1 12.08.2006 05:18
Нужна функция, возвращающая список из 3-х элементов hydozhnik Lisp 3 09.08.2006 02:39
Строковая функция для чего она нужна vovasever Delphi 3 16.03.2006 01:00
Пермутации для чего она нужна new man Алгоритмы 1 30.07.2004 15:21
Нужна помощь-функция для чтения файлов I16 tumanovalex С/С++ 1 05.06.2004 20:42
Срочно нужна функция в javascript - аналог explode Anonymous DHTML, JavaScript, VBScript 3 24.11.2003 15:32



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов