To copy the contents of one string to another string using pointer
by Ranjith | December 4th, 2008.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.




















July 16th, 2010 at 4:15 pm
a beautiful program.
July 29th, 2010 at 10:36 pm
wow nice program…….
July 30th, 2010 at 4:03 pm
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) = ‘′;
}