| | |
Prog to list ASCII codes (beginners' stuff)
![]() |
•
•
Join Date: Sep 2004
Posts: 11
Reputation:
Solved Threads: 0
Hi,
I just started a program containing every single prog we have done for school so far and added some private stuff.
Searching through my older files I found a prog which lists all Integers between 1 and 255 and their respective ASCII char, so I decided to include it into my 'collection'.
The problem is that 'twas a Win32 executable and we're working under DOS. Well actually this wouldn't be much of a problem, but the script seems no to work under DOS.
Well, first of here's the script:
As I stated, no problems under Win32, but under DOS it stops at 26 and after pressing a key again the screen gets cleared again and stays black.
So my question is..is there any way to get something like this running under DOS?
I tried a simple "cin>>intvar; charvar=intvar; cout<<charvar;" aswell, but any value above 25 simply results in nothing being put out.
Well, thanks in advance.~
I just started a program containing every single prog we have done for school so far and added some private stuff.
Searching through my older files I found a prog which lists all Integers between 1 and 255 and their respective ASCII char, so I decided to include it into my 'collection'.
The problem is that 'twas a Win32 executable and we're working under DOS. Well actually this wouldn't be much of a problem, but the script seems no to work under DOS.
Well, first of here's the script:
C Syntax (Toggle Plain Text)
# include <iostream.h> # include <conio.h> main() { int i, j, ip, ipp; float k, l; char zeichen; for (i=1;i<=254;i++) { zeichen=i; cout<<"\n"<<i<<" - "<<zeichen; j=1; for (j=1;j<=25;j++) { k=1.0*i/20; l=1.0*j; if (k==l) { ip=i+1; ipp=i+20; if (i<=240) cout<<"\n\n(Press any key --> "<<ip<<" to "<<ipp<<" )"; getch(); clrscr(); }; } } getch(); }
As I stated, no problems under Win32, but under DOS it stops at 26 and after pressing a key again the screen gets cleared again and stays black.
So my question is..is there any way to get something like this running under DOS?
I tried a simple "cin>>intvar; charvar=intvar; cout<<charvar;" aswell, but any value above 25 simply results in nothing being put out.
Well, thanks in advance.~
Skip 26. Or better yet, skip printing everything non-printable.
C Syntax (Toggle Plain Text)
#include <stdio.h> #include <ctype.h> int main(void) { int i; for ( i = 0; i < 256; ++i ) { putchar(isprint(i) ? i : '.'); putchar(i % 16 == 15 ? '\n' : ' '); } return 0; } /* my output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . */
Last edited by Dave Sinkula; Sep 24th, 2004 at 6:45 pm. Reason: Added code.
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
•
•
Join Date: Sep 2004
Posts: 11
Reputation:
Solved Threads: 0
•
•
•
•
Originally Posted by Dave Sinkula
Skip 26. Or better yet, skip printing everything non-printable.
Well, but how to skip them most easily?
The first and more or less only thing that comes into my mind is like:
if ( i != 26 && i != anotherone && i != yetanotherone &&...
[Oops. I see your reply beat my edit.]
I'd use isprint.
I'd use isprint.
C Syntax (Toggle Plain Text)
#include <stdio.h> #include <ctype.h> int main(void) { int i; for ( i = 0; i < 128; ++i ) { putchar(isprint(i) ? i : '.'); putchar(i % 32 == 31 ? '\n' : ' '); } return 0; } /* my output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ . */
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
•
•
Join Date: Sep 2004
Posts: 11
Reputation:
Solved Threads: 0
I see, thanks again.
But seeing this...
The output under Win32 is like:
And so on, so...
Aint I able to display the 255 ones of those under Dos?
But seeing this...
The output under Win32 is like:
C Syntax (Toggle Plain Text)
1 - ☺ 2 - ☻ 3 - ♥ 4 - ♦ 5 - ♣ 6 - ♠ 7 - 8 - 9 - 10 - 11 - ♂ 12 - ♀ 13 - 14 - ♫ 15 - ☼ 16 - ► 17 - ◄ 18 - ↕ 19 - ‼ 20 - ¶ 21 - §
Aint I able to display the 255 ones of those under Dos?
Check out http://www.asciitable.com/
The full list of ASCII characters are there. The function isprint() knows which of the characters are printable. isprint() returns a nonzero value if the input is a printable character, including the space character (0x20 – 0x7E). The other characters are either extended, or do other features which aren't print friendly.
More information on isprint()
isprint() is included in the ctype library, ctype.h:
int isprint(int c);
» This function returns nonzero if c is a space or a character for which either isalnum() or ispunct() returns nonzero.
int isalnum(int c);
» This function returns nonzero if c is any of or other locale-specific alphabetic character.
int ispunct(int c);
» This function returns nonzero if c is any of the following or other implementation-defined punctuation character:
Hope this helps,
- Stack Overflow
The full list of ASCII characters are there. The function isprint() knows which of the characters are printable. isprint() returns a nonzero value if the input is a printable character, including the space character (0x20 – 0x7E). The other characters are either extended, or do other features which aren't print friendly.
More information on isprint()
isprint() is included in the ctype library, ctype.h:
int isprint(int c);
» This function returns nonzero if c is a space or a character for which either isalnum() or ispunct() returns nonzero.
int isalnum(int c);
» This function returns nonzero if c is any of or other locale-specific alphabetic character.
According to AsciiTable.com Characters ASCII a thru z 97 thru 122 A thru Z 65 thru 90 0 thru 9 48 thru 57
» This function returns nonzero if c is any of the following or other implementation-defined punctuation character:
According to AsciiTable.com Characters ASCII ! " # $ % & ' ( ) * + , - . / 33 thru 47 : ; < = > ? @ 58 thru 64 [ \ ] ^ _ ' 91 thru 96 { | } ~ 123 thru 126
Hope this helps,
- Stack Overflow
Last edited by Stack Overflow; Sep 24th, 2004 at 8:15 pm. Reason: More detailed information
Following the rules will ensure you get a prompt answer to your question. If posting code, please include BB [code][/code] tags. Your question may have been asked before, try the search facility.
IRC
Channel: irc.daniweb.com
Room: #c, #shell
IRC
Channel: irc.daniweb.com
Room: #c, #shell
•
•
•
•
Originally Posted by Stack Overflow
Check out http://www.asciitable.com/
The full list of ASCII characters are there. The function isprint() knows which of the characters are printable. isprint() returns a nonzero value if the input is a printable character, including the space character (0x20 – 0x7E). The other characters are either extended, or do other features which aren't print friendly.
More information on isprint()
isprint() is included in the ctype library, ctype.h:
int isprint(int c);
» This function returns nonzero if c is a space or a character for which either isalnum() or ispunct() returns nonzero.
int isalnum(int c);
» This function returns nonzero if c is any of or other locale-specific alphabetic character.
int ispunct(int c);According to AsciiTable.com Characters ASCII a thru z 97 thru 122 A thru Z 65 thru 90 0 thru 9 48 thru 57
» This function returns nonzero if c is any of the following or other implementation-defined punctuation character:
According to AsciiTable.com Characters ASCII ! " # $ % & ' ( ) * + , - . / 33 thru 47 : ; < = > ? @ 58 thru 64 [ \ ] ^ _ ' 91 thru 96 { | } ~ 123 thru 126
Hope this helps,
- Stack Overflow
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
•
•
•
•
Originally Posted by Anu
See the attachments, I just want the fourth attachment (Dos, page2) to be like the second one (W32, page2).
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
![]() |
Other Threads in the C Forum
- Previous Thread: need little help bout this...
- Next Thread: how to place a specific info from input file
| Thread Tools | Search this Thread |
* adobe ansi api array asterisks binarysearch calculate centimeter changingto char character cm convert copyimagefile cprogramme creafecopyofanytypeoffileinc createcopyoffile csyntax database directory feet fflush fgets file fork forloop frequency function givemetehcodez grade graphics gtkgcurlcompiling gtkwinlinux hacking highest histogram i/o inches infiniteloop input intmain() iso kernel keyboard km linked linkedlist linux linuxsegmentationfault list locate looping loopinsideloop. lowest match microsoft mqqueue mysql number oddnumber odf open opendocumentformat owf pattern pdf performance posix probleminc process program programming radix recv recvblocked repetition research reversing scanf scheduling segmentationfault send sequential socket socketprograming stack standard string systemcall threads turboc unix user variable voidmain() wab whythiscodecausesegmentationfault windows.h windowsapi






