To copy the contents of one string to another string using pointer

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.

Editorial Team
Editorial Team

We are a group of young techies trying to provide the best study material for all Electronic and Computer science students. We are publishing Microcontroller projects, Basic Electronics, Digital Electronics, Computer projects and also c/c++, java programs.

13 thoughts on “To copy the contents of one string to another string using pointer

  1. 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) = ‘′;
    }

  2. thanks…try 2 include more programs as i m a cs engineering student and my knowledge about c programming is nil!!!! 🙂 🙂

  3. thanks…try 2 include more programs as i m a cs engineering student and my knowledge about c programming is nil!!!! 🙂 🙂

  4. tks a lot..try 2 include more programs as i m a cs engineering student and my knowledge about c programming is nil!!!! 🙂 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest updates on your inbox

Be the first to receive the latest updates from Codesdoc by signing up to our email subscription.

    StudentProjects.in