PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Friday, October 28, 2022

[FIXED] How to input an empty string in c from command prompt

 October 28, 2022     c, c-strings, is-empty, scanf, strlen     No comments   

Issue

I have been revising my skills in the way I came to C language first to start from scratch I am working out few problems myself. In the way I am writing a program which outputs the length of the entered string the code goes like this.

#include<stdio.h>
int main()
{
    char a[100];
    int n=0;
    printf("Enter the string : ");
    scanf("%s",a);
    while(a[n]!='\0')
    n++;
    printf("length of %s is %d\n",a,n);
}

It worked. But suddenly a thought came to my mind why don't we input an empty string and check whether the output would be 0(zero). I tried pressing enter in the command prompt where I generally run my code. But it goes on asking input until and unless I entered a valid input in the sense a string with characters. But how can I enter a manual string from the command prompt does it can happen or if it will. Hope my question is answered?


Solution

Thy the following

a[0] = '\0';
scanf( "%99[^\n]", a );

or

if (scanf( "%99[^\n]", a ) == 0) a[0] = '\0';

Another alternative is to use fgets. But the function can append the new line character '\n' to the input string even if the input is empty. You need to remove it like for example

#include <string.h>
#include <stdio.h>

...

fgets( a, sizeof( a ), stdin );
a[ strcspn( a, "\n" ) ] = '\0';


Answered By - Vlad from Moscow
Answer Checked By - Willingham (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing