-
Notifications
You must be signed in to change notification settings - Fork 0
/
escape.c
65 lines (61 loc) · 1.05 KB
/
escape.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
64
65
#include <stdio.h>
#define MAXLINE 1000
/*
List of escape char:
====================
\a: alert
\b: backspace
\f: formfeed
\n: newline
\r: carriage return
\t: horizontal tab
\v: vertical tab
\\: backslash
\?: question mark
\': single quote
\": double quote
\000: octal number
\xhh: hexadecimal number
*/
void escape(char *s, char *t);
int main()
{
char s[MAXLINE], t[MAXLINE];
char c;
int i = 0;
while((c = getchar()) != EOF)
{
t[i] = c;
++i;
}
t[i] = '\0';
escape(s, t);
printf("Escaped text: %s\n", s);
return 0;
}
void escape(char *s, char *t)
{
int i = 0, j = 0;
while(t[i] != '\0')
{
switch(t[i])
{
case '\n':
s[j] = '\\';
++j;
s[j] = 'n';
break;
case '\t':
s[j] = '\\';
++j;
s[j] = 't';
break;
default:
s[j] = t[i];
break;
}
++i;
++j;
}
s[j] = '\0';
}