×

C Programs

C Basic & Conditional Programs

C Looping Programs

C String Programs

C Miscellaneous Programs

C program to copy one string to another and count copied characters

In this C program, we are going to learn how to copy one string to another without using any library function? Here, we will also get the total number of copied characters and printing them.
Submitted by IncludeHelp, on March 14, 2018

Problem statement

Given a string and we have to copy it in another string, also find and print the total number of copied characters using C program.

Example

Input:
String 1 (Input string): "This is a test string"

Now, we will copy string 1 to the string 2
Output:
String 1: "This is a test string"
String 2: "This is a test string"
Total numbers of copied characters are: 21

Copying one string to another and count copied characters

Copy character by character from string 1 to the string 2 and use a loop counter which is initialized by 0, after copying each character, increase the loop counter. At the end, assign NULL (‘\0’) to the target (string 2) and loop counter will be the total number of copied characters.

In the given program, we have created a user defined function to copy one string to another string and returning the total number of copied characters.

Function prototype: int copy_string(char *target, char *source)

Where,

  • Parameters:
    • char *target - pointer to target string in which we will copy the string
    • char *source - pointer to source string whose value we want to copy
  • return type: - int : total number of copied characters

Program to copy one string to another string and find total number of copied character in C

#include <stdio.h>

// function to copy the string
int copy_string(char *target, char *source) {
  // variable tp store length, it will also work
  // as loop counter
  int len = 0;

  // loop to run from 0 (len=0) until NULL ('\0')
  // not found
  while (source[len] != '\0') {
    target[len] = source[len];
    len++;
  }
  // assign NULL to the target string
  target[len] = '\0';

  // return 'len'- that is number of copied characters
  return len;
}

// main code
int main() {
  // declare and assign string1 to be copied
  char str1[] = "This is a test string";
  // declare string 2 as target string
  char str2[30];
  // variable to store number of copied characters
  // that will be returned by the copy_string()
  int count;

  // calling the function
  count = copy_string(str2, str1);

  // printing values
  printf("Source string (str1): %s\n", str1);
  printf("Target string (str2): %s\n", str2);
  printf("Copied characters are: %d\n", count);

  return 0;
}

Output

Source string (str1): This is a test string
Target string (str2): This is a test string
Copied characters are: 21	

C String Programs »

Related Programs

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.