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?
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.
Avnish Patel said:
10 years ago
@Tejaswi you are right,
Executing this program, compiler gives following error.
In function 'main': Undefined reference to 'strnset'
Executing this program, compiler gives following error.
In function 'main': Undefined reference to 'strnset'
Usha said:
1 decade ago
What is the difference between strnset and strcset?
Kiran said:
1 decade ago
Can any one explain me about "strnset"?
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';
}
#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 :
#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);
}
}
#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........
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;
}
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;
}
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers