Skip to content Skip to sidebar Skip to footer

How to Read in a Char for a Function C++

In C programming, a string is a sequence of characters terminated with a nix character \0. For example:

          char c[] = "c string";        

When the compiler encounters a sequence of characters enclosed in the double quotation marks, it appends a null character \0 at the end by default.

Memory diagram of strings in C programming
Memory Diagram

How to declare a string?

Hither's how you tin can declare strings:

          char s[v];        
string declaration in C programming
String Proclamation in C

Here, we have declared a string of five characters.


How to initialize strings?

Yous can initialize strings in a number of ways.

          char c[] = "abcd";  char c[50] = "abcd";  char c[] = {'a', 'b', 'c', 'd', '\0'};  char c[5] = {'a', 'b', 'c', 'd', '\0'};        
Initialization of strings in C programming
String Initialization in C

Let's take another example:

          char c[5] = "abcde";        

Here, we are trying to assign half dozen characters (the terminal grapheme is '\0') to a char array having five characters. This is bad and you should never practise this.


Assigning Values to Strings

Arrays and strings are 2nd-class citizens in C; they exercise not support the assignment operator once it is declared. For example,

          char c[100]; c = "C programming";  // Mistake! array type is not assignable.        

Note: Utilise the strcpy() function to copy the string instead.


Read String from the user

You can use the scanf() function to read a string.

The scanf() function reads the sequence of characters until it encounters whitespace (space, newline, tab, etc.).


Example 1: scanf() to read a string

          #include <stdio.h> int main() {     char name[xx];     printf("Enter name: ");     scanf("%s", proper noun);     printf("Your proper noun is %due south.", name);     render 0; }                  

Output

          Enter name: Dennis Ritchie Your name is Dennis.        

Even though Dennis Ritchie was entered in the above program, only "Dennis" was stored in the name string. It's because there was a infinite afterward Dennis.

Likewise notice that nosotros take used the code name instead of &proper noun with scanf().

          scanf("%s", proper name);        

This is because name is a char array, and we know that array names decay to pointers in C.

Thus, theproper noun inscanf() already points to the accost of the get-go element in the cord, which is why we don't demand to utilize &.


How to read a line of text?

You tin can use the fgets() office to read a line of string. And, you can use puts() to display the string.


Case ii: fgets() and puts()

          #include <stdio.h> int chief() {     char name[thirty];     printf("Enter name: ");     fgets(name, sizeof(name), stdin);  // read string     printf("Name: ");     puts(proper name);    // display cord     render 0; }                  

Output

          Enter name: Tom Hanks Name: Tom Hanks        

Here, we take used fgets() role to read a string from the user.

fgets(name, sizeof(name), stdlin); // read string

The sizeof(proper noun) results to xxx. Hence, we can have a maximum of 30 characters equally input which is the size of thename string.

To impress the string, nosotros have used puts(name);.

Note: The gets() function can too be to take input from the user. Withal, it is removed from the C standard.

It's considering gets() allows you to input any length of characters. Hence, there might be a buffer overflow.


Passing Strings to Functions

Strings tin can exist passed to a office in a similar way equally arrays. Learn more almost passing arrays to a part.


Case iii: Passing string to a Part

          #include <stdio.h> void displayString(char str[]);  int principal() {     char str[fifty];     printf("Enter cord: ");     fgets(str, sizeof(str), stdin);                  displayString(str);     // Passing cord to a function.         render 0; } void displayString(char str[]) {     printf("String Output: ");     puts(str); }        

Strings and Pointers

Like like arrays, cord names are "decayed" to pointers. Hence, you can utilise pointers to manipulate elements of the string. We recommended you to check C Arrays and Pointers earlier you check this case.


Example 4: Strings and Pointers

          #include <stdio.h>  int primary(void) {   char name[] = "Harry Potter";    printf("%c", *name);     // Output: H   printf("%c", *(proper name+1));   // Output: a   printf("%c", *(proper name+7));   // Output: o    char *namePtr;    namePtr = name;   printf("%c", *namePtr);     // Output: H   printf("%c", *(namePtr+one));   // Output: a   printf("%c", *(namePtr+seven));   // Output: o }        

Commonly Used String Functions

  • strlen() - calculates the length of a cord
  • strcpy() - copies a string to another
  • strcmp() - compares two strings
  • strcat() - concatenates 2 strings

mckaytheran.blogspot.com

Source: https://www.programiz.com/c-programming/c-strings

Postar um comentário for "How to Read in a Char for a Function C++"