C Programming - Strings - Discussion

Discussion Forum : Strings - General Questions (Q.No. 1)
1.
Which of the following function sets first n characters of a string to a given character?
strinit()
strnset()
strset()
strcset()
Answer: Option
Explanation:

Declaration:

char *strnset(char *s, int ch, size_t n); Sets the first n characters of s to ch

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

int main(void)
{
   char *string = "abcdefghijklmnopqrstuvwxyz";
   char letter = 'x';

   printf("string before strnset: %s\n", string);
   strnset(string, letter, 13);
   printf("string after  strnset: %s\n", string);

   return 0;
}

Output:

string before strnset: abcdefghijklmnopqrstuvwxyz

string after strnset: xxxxxxxxxxxxxnopqrstuvwxyz

Discussion:
24 comments Page 2 of 3.

Tejaswi said:   1 decade ago
This program gives run time error while executing.
(1)

Bhargav said:   1 decade ago
But in strings strnset is not a predefined functions. By compiling the above program it showing some error.

Can you explain?

Gourav said:   1 decade ago
Why no output is coming for this code ?

#include<stdio.h>
int xstrlen (char *);
void xstrcat (char*,char*,int );
main ()
{
char source []="hello";
char target [20]="world";
int length= xstrlen(target);
xstrcat(target,source,length);
printf("source string=%s",source);
printf("target string=%s",target);
}

int xstrlen (char *t)
{
int len=0;
while (*t!='\0')
len++;
return (len);

}

void xstrcat (char *t,char *s,int l)

{

while (*s!='\0')
{
t=t+l;
*t=*s;
t++;
s++;
}
*t='\0';
}

Anandrao Sakhare said:   1 decade ago
#include <stdio.h>
#include <string.h>

main()
{
char str[]="%f%d%c\n\t%d";
int i;
for(i=0;i<10;i++)
printf("%c",str[i]);
}

Output :
%f%d%c
%d

Gaurav said:   1 decade ago
//This is not working please have a look
#include<stdio.h>
#include<conio.h>
int main()
{
int p=1;
char name[15];
while(p)
{
printf("Enter your name\n");
gets(name);
printf("Hello %s\n",name);
printf("Enter p\n");
scanf("%d",&p);
}
}

IIIT,bas said:   1 decade ago
strnset ia a function which sets first n characters of a string to a given character.
For ex:
Look at the above program.
In that example step4:
we gave the letter as 'x'.
And in step 6:we gave n value as'13'.
So 'x' will replace that first 13 characters.
Hope you can understand prathyusha........

Prathyusha said:   1 decade ago
Please some one can explain what is "strnset".

SELVA said:   1 decade ago
What is mean of strnset() ?

Daniel H said:   1 decade ago
strnset isn't a standard function. Consider using memset, which is a standard function.

Note also that string points to a string literal, which isn't guaranteed to be modifiable.

Consider using the following program:

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

int main(void)
{
char string[] = "abcdefghijklmnopqrstuvwxyz";

printf("string before memset: %s\n", string);
memset(string, 'x', 13);
printf("string after memset: %s\n", string);
return 0;
}

Satish rajnale. said:   1 decade ago
How to add two number in C language without using "+" operator ?


Post your comments here:

Your comments will be displayed after verification.