C++ Read One Char From User Input
Reading time: 30 minutes
C uses char blazon to store characters and letters. Yet, the char blazon is integer type because underneath C stores integer numbers instead of characters.In C, char values are stored in ane byte in retentiveness,and value range from -128 to 127 or 0 to 255.
In social club to represent characters, the estimator has to map each integer with a corresponding character using a numerical lawmaking. The most mutual numerical code is ASCII, which stands for American Standard Lawmaking for Information Interchange.
How to declare characters?
To declare a character in C, the syntax:
char char_variable = 'A';
Complete Case in C:
#include <stdio.h> #include <stdlib.h> int master() { char graphic symbol = 'Z'; printf("character = %c\n",graphic symbol); printf("character = %d,Stored as integer\n", character); return 0; }
Output
character = Z character = ninety, hence an integer
C library functions for characters
The Standard C library #include <ctype.h> has functions you lot tin apply for manipulating and testing character values:
How to catechumen grapheme to lower case?
- int islower(ch)
Returns value different from zero (i.eastward., truthful) if indeed c is a lowercase alphabetic letter of the alphabet. Cipher (i.e., false) otherwise.
char ch = 'z'; if(islower(ch)) printf("Lower instance"); else printf("upper example");
Output:
Lower case
How to convert character to upper case?
- int isupper(ch)
A value different from zero (i.e., truthful) if indeed c is an uppercase alphabetic alphabetic character. Zilch (i.e., false) otherwise.
char ch = 'Z'; if(isupper(ch)) printf("upper case"); else printf("lower case"); // Output: upper case
Cheque if character is an alphabet?
- isalpha(ch)
Returns value different from zero (i.eastward., true) if indeed c is an alphabetic letter. Zero (i.e., false) otherwise.
char ch = 'Z'; if(isalpha(ch)) printf("alphabet"); else printf("Numeric" ); //output: alphabet
Bank check if character is a digit
- int isdigit(ch);
Returns value different from zero (i.e., true) if indeed c is a decimal digit. Cypher (i.eastward., false) otherwise.
char ch = '1'; if(isdigit(ch)) printf("numeric"); else printf("alphabet" ); // output: numeric
Check if grapheme is a digit or alphabet
- int isalnum(ch);
Returns value different from zero (i.e., truthful) if indeed c is either a digit or a letter. Null (i.e., false) otherwise.
char ch = '/'; if(isalnum(ch)) printf("numeric or ap=lphabet"); else printf("other symbol" ); //output: other symbol
Cheque if character is a punctuation
- int ispunct(ch)
Returns value different from nothing (i.east., truthful) if indeed c is a punctuation character. Nothing (i.e., false) otherwise.
char ch = '!'; if(ispunct(ch)) printf("punctuation"); else printf("other symbol" ); // output: punctuation
Check if character is a space
- int isspace(ch)
Retuns value different from zero (i.e., true) if indeed c is a white-space graphic symbol. Zero (i.east., false) otherwise.
char ch = ' '; if(isspace(ch)) printf("space"); else printf("other symbol" ); //output: space
- char tolower(ch) & char toupper(ch)
The value of the character is checked other if the vlaue is lower or upper case otherwise information technology is alter and value is returned as an int value that tin can be implicitly casted to char.
char ch = 'A'; ch = tolower(ch); printf("%c",ch ); // prints a ch = toupper(ch); printf("%c",ch ); //// prints A
Find size of character using Sizeof()?
To get the exact size of a blazon or a variable on a particular platform, y'all can use the sizeof operator. The expressions sizeof(type) yields the storage size of the object or type in bytes.
In the beneath case the size of char is 1 byte, merely the type of a character constant like 'a' is actually an int, with size of 4.
char a = 'a'; printf("Size of char : %d\due north",sizeof(a)); printf("Size of char : %d\n",sizeof('a'));
Output
Size of char : ane Size of char : 4
Note:
- All the office in Ctype work nether constant time
The characters supported by a computing system depends on the encoding supported by the system. Different encoding supports dissimilar graphic symbol ranges.
Unlike encoding are:
- ASCII
- UTF-viii
- UTF-16
ASCII encoding has nigh characters in English while UTF has characters from different languages.
The post-obit table illustrates the characters in ASCII lawmaking:
Question
Consider the following C++ lawmaking:
#include <stdio.h> #include <ctype.h> int primary () { int i=0; char str[]="Test String.\n"; char c; while (str[i]) { c=str[i]; if(islower(c)) str[i] = toupper(c); if(ispunct(c)) { printf("punctuation!!!!!!"); return 0; } i++; } printf("%south",str); return 0; }
What will be the output of the to a higher place code?
punctuation!!!!!!
TEST STRING
test string
Run time error
The code will print "punctuation!!!!!!" and return when "." is encountered
Source: https://iq.opengenus.org/character-in-c/
0 Response to "C++ Read One Char From User Input"
Post a Comment