Using getchar_unlocked() function in C/C++
In this tutorial let us learn what is the getchar_unlocked function, how to use this function using C/C++, and what are its advantages. Before going into the topic, let us see some similar functions like getchar and getc.
getc()
It reads a single value from the given stream and returns the ASCII value of that character.
#include <stdio.h>
int main()
{
char a;
printf("Enter the chracter : ");
a=getc();
printf("\nOutput : %c",a);
return 0;
}Output:
Enter the character : g Output : g
getchar()
The difference between getc() and getchar() is that getc() can read from any input stream, but getchar() reads from standard input.
#include <stdio.h>
int main()
{
char a;
printf("Enter a character : ");
a=getchar();
printf("\n%c",a);
return 0;
}Output:
Enter the character : g g
Now that we have seen some similar functions let us dive into the topic.
getchar_unlocked() in C++
The getchar_unlocked function is not thread-safe.
getchar_unlocked function is faster than the getchar function.
Warning: be careful with large I/O in certain languages.
All the overheads of mutual exclusion are avoided as it is not thread-safe.
Example:
#include<iostream>
int main()
{
char a;
printf(" Enter a character : ");
a=getchar_unlocked();
printf("\n The entered character is : %c",a);
return 0;
}Output:
Enter a character : a The entered character is : a
#include<stdio.h>
int main()
{
char a;
printf(" Enter a character : ");
a=getchar_unlocked();
printf("\n The entered character is : %c",a);
return 0;
}Output:
Enter a character : abcd The entered character is : a
With this note, I want to end this tutorial. Thank you.
Leave a Reply