This is the simple implementation of the “Copy” function using the pointers. This program copies the content of one string to another.
Logic : The program asks the user to input the string to copy and stores using the pointer str1. The inner function “stcpy” takes 2 string pointers as arguments. By keeping the length as the reference, it traces till EOF , for each i of this iteration it copies the i-th letter to the destination string, i.e str2. After the EOL, it puts a NULL to the second line. That gives the duplicated string of the entered.
This function copies the string using the pointer, where earlier program copies the string directly.
#include<stdio.h>
#include<conio.h>
void stcpy(char *str1, char *str2);
void main()
{
char *str1, *str2;
clrscr();
printf(“\n\n\t ENTER A STRING…: “);
gets(str1);
stcpy(str1,str2);
printf(“\n\t THE COPIED STRING IS…: “);
puts(str2);
getch();
}
void stcpy(char *str1, char *str2)
{
int i, len = 0;
while(*(str1+len)!=’\0′)
len++;
for(i=0;i<len;i++)
*(str2+i) = *(str1+i);
*(str2+i) = ‘\0’;
}
Download exe and source code here.
a beautiful program.
wow nice program…….
not working….u need to assign valid address to str2. check the updated code
#include
#include
void stcpy(char *str1, char *str2);
void main()
{
char ch; //—-> added
char *str1, *str2=&ch; //—>assigned
clrscr();
printf(“\n\n\t ENTER A STRING…: “);
gets(str1);
stcpy(str1,str2);
printf(“\n\t THE COPIED STRING IS…: “);
puts(str2);
getch();
}
void stcpy(char *str1, char *str2)
{
int i, len = 0;
while(*(str1+len)!=’′)
len++;
for(i=0;i<len;i++)
*(str2+i) = *(str1+i);
*(str2+i) = ‘′;
}
It helpd me a lot
thanks…try 2 include more programs as i m a cs engineering student and my knowledge about c programming is nil!!!! 🙂 🙂
thanks…try 2 include more programs as i m a cs engineering student and my knowledge about c programming is nil!!!! 🙂 🙂
tks a lot..try 2 include more programs as i m a cs engineering student and my knowledge about c programming is nil!!!! 🙂 🙂
thanks for you in help as c programing