25 Years of Programming
An open source source for C, C++, OWL, BASIC, MDB, XLS, DOT, and more...
Home   Projects   Up   Sitemap   Search   Blog   Forum+Chat   About Us   Privacy   Terms of Use   Feedback   FAQ   Images   Services   Ads   Donate   Humor

Classify ASCII chars by type

Trivial MSDOS utility program creates a file with all 256 ASCII chars classified by the various Borland C++ 4.0 functions such as isascii(), isalpha(), etc., with columns tab-delimited for output to Excel or Access. Its output is shown below.

ischars.cpp

/*	ischars.cpp	  			2-21-01
	Copyright (C)2001 Steven Whitney.
	Published under GNU GPL (General Public License) Version 2, with ABSOLUTELY NO WARRANTY.
	Initially published by http://25yearsofprogramming.com.

Trivial utility creates a file with all 256 chars classified by the various
Borland C++ 4.0 isascii(), etc. functions, with columns tab-delimited for output
to Excel or Access.

Used for building definitions and attribute lists for the chars in wtalk.mdb.
Keep for a while in case it must be rebuilt.

*/
#include "c:\bcs\my.h"
#include "c:\bcs\mylib.cpp"

//////////////////////////////////////////////////////////////////////////////
int main(int argc, char **argv)
{
ofstream outfile("ischars.txt");

outfile << "No."  << "\t" << "Char"  << "\t";
outfile << "ascii" << "\t" << "control" << "\t" << "space" << "\t" << "print" << "\t";
outfile << "graph" << "\t" << "punct" << "\t" << "alnum" << "\t" << "digit" << "\t";
outfile << "xdigit" << "\t" << "alpha" << "\t" << "upper" << "\t" << "lower" << endl;

for(int c = 0 ; c < 256 ; c++)
{
	outfile << c << "\t" << (isprint(c) ? (uchar)c : '.') << "\t";
	outfile << (isascii(c) ? "X" : "O") << "\t";
	outfile << (iscntrl(c) ? "X" : "O") << "\t";
	outfile << (isspace(c) ? "X" : "O") << "\t";
	outfile << (isprint(c) ? "X" : "O") << "\t";
	outfile << (isgraph(c) ? "X" : "O") << "\t";
	outfile << (ispunct(c) ? "X" : "O") << "\t";
	outfile << (isalnum(c) ? "X" : "O") << "\t";
	outfile << (isdigit(c) ? "X" : "O") << "\t";
	outfile << (isxdigit(c) ? "X" : "O") << "\t";
	outfile << (isalpha(c) ? "X" : "O") << "\t";
	outfile << (isupper(c) ? "X" : "O") << "\t";
	outfile << (islower(c) ? "X" : "O") << endl;
}
return(0);
}

This is its output:

No.	Char	ascii	control	space	print	graph	punct	alnum	digit	xdigit	alpha	upper	lower
0	.	X	X	O	O	O	O	O	O	O	O	O	O
1	.	X	X	O	O	O	O	O	O	O	O	O	O
2	.	X	X	O	O	O	O	O	O	O	O	O	O
3	.	X	X	O	O	O	O	O	O	O	O	O	O
4	.	X	X	O	O	O	O	O	O	O	O	O	O
5	.	X	X	O	O	O	O	O	O	O	O	O	O
6	.	X	X	O	O	O	O	O	O	O	O	O	O
7	.	X	X	O	O	O	O	O	O	O	O	O	O
8	.	X	X	O	O	O	O	O	O	O	O	O	O
9	.	X	X	X	O	O	O	O	O	O	O	O	O
10	.	X	X	X	O	O	O	O	O	O	O	O	O
11	.	X	X	X	O	O	O	O	O	O	O	O	O
12	.	X	X	X	O	O	O	O	O	O	O	O	O
13	.	X	X	X	O	O	O	O	O	O	O	O	O
14	.	X	X	O	O	O	O	O	O	O	O	O	O
15	.	X	X	O	O	O	O	O	O	O	O	O	O
16	.	X	X	O	O	O	O	O	O	O	O	O	O
17	.	X	X	O	O	O	O	O	O	O	O	O	O
18	.	X	X	O	O	O	O	O	O	O	O	O	O
19	.	X	X	O	O	O	O	O	O	O	O	O	O
20	.	X	X	O	O	O	O	O	O	O	O	O	O
21	.	X	X	O	O	O	O	O	O	O	O	O	O
22	.	X	X	O	O	O	O	O	O	O	O	O	O
23	.	X	X	O	O	O	O	O	O	O	O	O	O
24	.	X	X	O	O	O	O	O	O	O	O	O	O
25	.	X	X	O	O	O	O	O	O	O	O	O	O
26	.	X	X	O	O	O	O	O	O	O	O	O	O
27	.	X	X	O	O	O	O	O	O	O	O	O	O
28	.	X	X	O	O	O	O	O	O	O	O	O	O
29	.	X	X	O	O	O	O	O	O	O	O	O	O
30	.	X	X	O	O	O	O	O	O	O	O	O	O
31	.	X	X	O	O	O	O	O	O	O	O	O	O
32	 	X	O	X	X	O	O	O	O	O	O	O	O
33	!	X	O	O	X	X	X	O	O	O	O	O	O
34	"	X	O	O	X	X	X	O	O	O	O	O	O
35	#	X	O	O	X	X	X	O	O	O	O	O	O
36	$	X	O	O	X	X	X	O	O	O	O	O	O
37	%	X	O	O	X	X	X	O	O	O	O	O	O
38	&	X	O	O	X	X	X	O	O	O	O	O	O
39	'	X	O	O	X	X	X	O	O	O	O	O	O
40	(	X	O	O	X	X	X	O	O	O	O	O	O
41	)	X	O	O	X	X	X	O	O	O	O	O	O
42	*	X	O	O	X	X	X	O	O	O	O	O	O
43	+	X	O	O	X	X	X	O	O	O	O	O	O
44	,	X	O	O	X	X	X	O	O	O	O	O	O
45	-	X	O	O	X	X	X	O	O	O	O	O	O
46	.	X	O	O	X	X	X	O	O	O	O	O	O
47	/	X	O	O	X	X	X	O	O	O	O	O	O
48	0	X	O	O	X	X	O	X	X	X	O	O	O
49	1	X	O	O	X	X	O	X	X	X	O	O	O
50	2	X	O	O	X	X	O	X	X	X	O	O	O
51	3	X	O	O	X	X	O	X	X	X	O	O	O
52	4	X	O	O	X	X	O	X	X	X	O	O	O
53	5	X	O	O	X	X	O	X	X	X	O	O	O
54	6	X	O	O	X	X	O	X	X	X	O	O	O
55	7	X	O	O	X	X	O	X	X	X	O	O	O
56	8	X	O	O	X	X	O	X	X	X	O	O	O
57	9	X	O	O	X	X	O	X	X	X	O	O	O
58	:	X	O	O	X	X	X	O	O	O	O	O	O
59	;	X	O	O	X	X	X	O	O	O	O	O	O
60	<	X	O	O	X	X	X	O	O	O	O	O	O
61	=	X	O	O	X	X	X	O	O	O	O	O	O
62	>	X	O	O	X	X	X	O	O	O	O	O	O
63	?	X	O	O	X	X	X	O	O	O	O	O	O
64	@	X	O	O	X	X	X	O	O	O	O	O	O
65	A	X	O	O	X	X	O	X	O	X	X	X	O
66	B	X	O	O	X	X	O	X	O	X	X	X	O
67	C	X	O	O	X	X	O	X	O	X	X	X	O
68	D	X	O	O	X	X	O	X	O	X	X	X	O
69	E	X	O	O	X	X	O	X	O	X	X	X	O
70	F	X	O	O	X	X	O	X	O	X	X	X	O
71	G	X	O	O	X	X	O	X	O	O	X	X	O
72	H	X	O	O	X	X	O	X	O	O	X	X	O
73	I	X	O	O	X	X	O	X	O	O	X	X	O
74	J	X	O	O	X	X	O	X	O	O	X	X	O
75	K	X	O	O	X	X	O	X	O	O	X	X	O
76	L	X	O	O	X	X	O	X	O	O	X	X	O
77	M	X	O	O	X	X	O	X	O	O	X	X	O
78	N	X	O	O	X	X	O	X	O	O	X	X	O
79	O	X	O	O	X	X	O	X	O	O	X	X	O
80	P	X	O	O	X	X	O	X	O	O	X	X	O
81	Q	X	O	O	X	X	O	X	O	O	X	X	O
82	R	X	O	O	X	X	O	X	O	O	X	X	O
83	S	X	O	O	X	X	O	X	O	O	X	X	O
84	T	X	O	O	X	X	O	X	O	O	X	X	O
85	U	X	O	O	X	X	O	X	O	O	X	X	O
86	V	X	O	O	X	X	O	X	O	O	X	X	O
87	W	X	O	O	X	X	O	X	O	O	X	X	O
88	X	X	O	O	X	X	O	X	O	O	X	X	O
89	Y	X	O	O	X	X	O	X	O	O	X	X	O
90	Z	X	O	O	X	X	O	X	O	O	X	X	O
91	[	X	O	O	X	X	X	O	O	O	O	O	O
92	\	X	O	O	X	X	X	O	O	O	O	O	O
93	]	X	O	O	X	X	X	O	O	O	O	O	O
94	^	X	O	O	X	X	X	O	O	O	O	O	O
95	_	X	O	O	X	X	X	O	O	O	O	O	O
96	`	X	O	O	X	X	X	O	O	O	O	O	O
97	a	X	O	O	X	X	O	X	O	X	X	O	X
98	b	X	O	O	X	X	O	X	O	X	X	O	X
99	c	X	O	O	X	X	O	X	O	X	X	O	X
100	d	X	O	O	X	X	O	X	O	X	X	O	X
101	e	X	O	O	X	X	O	X	O	X	X	O	X
102	f	X	O	O	X	X	O	X	O	X	X	O	X
103	g	X	O	O	X	X	O	X	O	O	X	O	X
104	h	X	O	O	X	X	O	X	O	O	X	O	X
105	i	X	O	O	X	X	O	X	O	O	X	O	X
106	j	X	O	O	X	X	O	X	O	O	X	O	X
107	k	X	O	O	X	X	O	X	O	O	X	O	X
108	l	X	O	O	X	X	O	X	O	O	X	O	X
109	m	X	O	O	X	X	O	X	O	O	X	O	X
110	n	X	O	O	X	X	O	X	O	O	X	O	X
111	o	X	O	O	X	X	O	X	O	O	X	O	X
112	p	X	O	O	X	X	O	X	O	O	X	O	X
113	q	X	O	O	X	X	O	X	O	O	X	O	X
114	r	X	O	O	X	X	O	X	O	O	X	O	X
115	s	X	O	O	X	X	O	X	O	O	X	O	X
116	t	X	O	O	X	X	O	X	O	O	X	O	X
117	u	X	O	O	X	X	O	X	O	O	X	O	X
118	v	X	O	O	X	X	O	X	O	O	X	O	X
119	w	X	O	O	X	X	O	X	O	O	X	O	X
120	x	X	O	O	X	X	O	X	O	O	X	O	X
121	y	X	O	O	X	X	O	X	O	O	X	O	X
122	z	X	O	O	X	X	O	X	O	O	X	O	X
123	{	X	O	O	X	X	X	O	O	O	O	O	O
124	|	X	O	O	X	X	X	O	O	O	O	O	O
125	}	X	O	O	X	X	X	O	O	O	O	O	O
126	~	X	O	O	X	X	X	O	O	O	O	O	O
127	.	X	X	O	O	O	O	O	O	O	O	O	O
128	.	O	O	O	O	O	O	O	O	O	O	O	O
129	.	O	O	O	O	O	O	O	O	O	O	O	O
130	.	O	O	O	O	O	O	O	O	O	O	O	O
131	.	O	O	O	O	O	O	O	O	O	O	O	O
132	.	O	O	O	O	O	O	O	O	O	O	O	O
133	.	O	O	O	O	O	O	O	O	O	O	O	O
134	.	O	O	O	O	O	O	O	O	O	O	O	O
135	.	O	O	O	O	O	O	O	O	O	O	O	O
136	.	O	O	O	O	O	O	O	O	O	O	O	O
137	.	O	O	O	O	O	O	O	O	O	O	O	O
138	.	O	O	O	O	O	O	O	O	O	O	O	O
139	.	O	O	O	O	O	O	O	O	O	O	O	O
140	.	O	O	O	O	O	O	O	O	O	O	O	O
141	.	O	O	O	O	O	O	O	O	O	O	O	O
142	.	O	O	O	O	O	O	O	O	O	O	O	O
143	.	O	O	O	O	O	O	O	O	O	O	O	O
144	.	O	O	O	O	O	O	O	O	O	O	O	O
145	.	O	O	O	O	O	O	O	O	O	O	O	O
146	.	O	O	O	O	O	O	O	O	O	O	O	O
147	.	O	O	O	O	O	O	O	O	O	O	O	O
148	.	O	O	O	O	O	O	O	O	O	O	O	O
149	.	O	O	O	O	O	O	O	O	O	O	O	O
150	.	O	O	O	O	O	O	O	O	O	O	O	O
151	.	O	O	O	O	O	O	O	O	O	O	O	O
152	.	O	O	O	O	O	O	O	O	O	O	O	O
153	.	O	O	O	O	O	O	O	O	O	O	O	O
154	.	O	O	O	O	O	O	O	O	O	O	O	O
155	.	O	O	O	O	O	O	O	O	O	O	O	O
156	.	O	O	O	O	O	O	O	O	O	O	O	O
157	.	O	O	O	O	O	O	O	O	O	O	O	O
158	.	O	O	O	O	O	O	O	O	O	O	O	O
159	.	O	O	O	O	O	O	O	O	O	O	O	O
160	.	O	O	O	O	O	O	O	O	O	O	O	O
161	.	O	O	O	O	O	O	O	O	O	O	O	O
162	.	O	O	O	O	O	O	O	O	O	O	O	O
163	.	O	O	O	O	O	O	O	O	O	O	O	O
164	.	O	O	O	O	O	O	O	O	O	O	O	O
165	.	O	O	O	O	O	O	O	O	O	O	O	O
166	.	O	O	O	O	O	O	O	O	O	O	O	O
167	.	O	O	O	O	O	O	O	O	O	O	O	O
168	.	O	O	O	O	O	O	O	O	O	O	O	O
169	.	O	O	O	O	O	O	O	O	O	O	O	O
170	.	O	O	O	O	O	O	O	O	O	O	O	O
171	.	O	O	O	O	O	O	O	O	O	O	O	O
172	.	O	O	O	O	O	O	O	O	O	O	O	O
173	.	O	O	O	O	O	O	O	O	O	O	O	O
174	.	O	O	O	O	O	O	O	O	O	O	O	O
175	.	O	O	O	O	O	O	O	O	O	O	O	O
176	.	O	O	O	O	O	O	O	O	O	O	O	O
177	.	O	O	O	O	O	O	O	O	O	O	O	O
178	.	O	O	O	O	O	O	O	O	O	O	O	O
179	.	O	O	O	O	O	O	O	O	O	O	O	O
180	.	O	O	O	O	O	O	O	O	O	O	O	O
181	.	O	O	O	O	O	O	O	O	O	O	O	O
182	.	O	O	O	O	O	O	O	O	O	O	O	O
183	.	O	O	O	O	O	O	O	O	O	O	O	O
184	.	O	O	O	O	O	O	O	O	O	O	O	O
185	.	O	O	O	O	O	O	O	O	O	O	O	O
186	.	O	O	O	O	O	O	O	O	O	O	O	O
187	.	O	O	O	O	O	O	O	O	O	O	O	O
188	.	O	O	O	O	O	O	O	O	O	O	O	O
189	.	O	O	O	O	O	O	O	O	O	O	O	O
190	.	O	O	O	O	O	O	O	O	O	O	O	O
191	.	O	O	O	O	O	O	O	O	O	O	O	O
192	.	O	O	O	O	O	O	O	O	O	O	O	O
193	.	O	O	O	O	O	O	O	O	O	O	O	O
194	.	O	O	O	O	O	O	O	O	O	O	O	O
195	.	O	O	O	O	O	O	O	O	O	O	O	O
196	.	O	O	O	O	O	O	O	O	O	O	O	O
197	.	O	O	O	O	O	O	O	O	O	O	O	O
198	.	O	O	O	O	O	O	O	O	O	O	O	O
199	.	O	O	O	O	O	O	O	O	O	O	O	O
200	.	O	O	O	O	O	O	O	O	O	O	O	O
201	.	O	O	O	O	O	O	O	O	O	O	O	O
202	.	O	O	O	O	O	O	O	O	O	O	O	O
203	.	O	O	O	O	O	O	O	O	O	O	O	O
204	.	O	O	O	O	O	O	O	O	O	O	O	O
205	.	O	O	O	O	O	O	O	O	O	O	O	O
206	.	O	O	O	O	O	O	O	O	O	O	O	O
207	.	O	O	O	O	O	O	O	O	O	O	O	O
208	.	O	O	O	O	O	O	O	O	O	O	O	O
209	.	O	O	O	O	O	O	O	O	O	O	O	O
210	.	O	O	O	O	O	O	O	O	O	O	O	O
211	.	O	O	O	O	O	O	O	O	O	O	O	O
212	.	O	O	O	O	O	O	O	O	O	O	O	O
213	.	O	O	O	O	O	O	O	O	O	O	O	O
214	.	O	O	O	O	O	O	O	O	O	O	O	O
215	.	O	O	O	O	O	O	O	O	O	O	O	O
216	.	O	O	O	O	O	O	O	O	O	O	O	O
217	.	O	O	O	O	O	O	O	O	O	O	O	O
218	.	O	O	O	O	O	O	O	O	O	O	O	O
219	.	O	O	O	O	O	O	O	O	O	O	O	O
220	.	O	O	O	O	O	O	O	O	O	O	O	O
221	.	O	O	O	O	O	O	O	O	O	O	O	O
222	.	O	O	O	O	O	O	O	O	O	O	O	O
223	.	O	O	O	O	O	O	O	O	O	O	O	O
224	.	O	O	O	O	O	O	O	O	O	O	O	O
225	.	O	O	O	O	O	O	O	O	O	O	O	O
226	.	O	O	O	O	O	O	O	O	O	O	O	O
227	.	O	O	O	O	O	O	O	O	O	O	O	O
228	.	O	O	O	O	O	O	O	O	O	O	O	O
229	.	O	O	O	O	O	O	O	O	O	O	O	O
230	.	O	O	O	O	O	O	O	O	O	O	O	O
231	.	O	O	O	O	O	O	O	O	O	O	O	O
232	.	O	O	O	O	O	O	O	O	O	O	O	O
233	.	O	O	O	O	O	O	O	O	O	O	O	O
234	.	O	O	O	O	O	O	O	O	O	O	O	O
235	.	O	O	O	O	O	O	O	O	O	O	O	O
236	.	O	O	O	O	O	O	O	O	O	O	O	O
237	.	O	O	O	O	O	O	O	O	O	O	O	O
238	.	O	O	O	O	O	O	O	O	O	O	O	O
239	.	O	O	O	O	O	O	O	O	O	O	O	O
240	.	O	O	O	O	O	O	O	O	O	O	O	O
241	.	O	O	O	O	O	O	O	O	O	O	O	O
242	.	O	O	O	O	O	O	O	O	O	O	O	O
243	.	O	O	O	O	O	O	O	O	O	O	O	O
244	.	O	O	O	O	O	O	O	O	O	O	O	O
245	.	O	O	O	O	O	O	O	O	O	O	O	O
246	.	O	O	O	O	O	O	O	O	O	O	O	O
247	.	O	O	O	O	O	O	O	O	O	O	O	O
248	.	O	O	O	O	O	O	O	O	O	O	O	O
249	.	O	O	O	O	O	O	O	O	O	O	O	O
250	.	O	O	O	O	O	O	O	O	O	O	O	O
251	.	O	O	O	O	O	O	O	O	O	O	O	O
252	.	O	O	O	O	O	O	O	O	O	O	O	O
253	.	O	O	O	O	O	O	O	O	O	O	O	O
254	.	O	O	O	O	O	O	O	O	O	O	O	O
255	.	O	O	O	O	O	O	O	O	O	O	O	O

 

 

Valid HTML 4.01 Transitional Valid CSS
View content labeling at ICRA.
Copyright ©2007 Steven Whitney. Last modified 09/25/2007.