C++ Bir İfadeyi (String) Kopyalama

Merhaba arkadaşlar, bu yazımızda bir ifadeyi (string) diğer bir değişkenin içine nasıl kopyalayacağımızı öğreneceğiz. Bunu 2 şekilde gerçekleştirebiliriz;

  • <string.h> kütüphanesinin strcpy() fonksiyonunu kullanarak
  • veya kütüphane fonksiyonu kullanmadan, döngü ve array kullanarak yapabiliriz.
#include<iostream>
#include<cstring>
 
using namespace std;
 
int  main()
{
  char s1[10], s2[10];
  cout << "1. ifadeyi giriniz s1: ";
  cin >> s1;
  strcpy(s2, s1);
  cout << "s2 degiskeni : " << s2;
  return 0;   
}

Çıktı

1. ifadeyi giriniz s1 : Caner s2 degiskeni : Caner

Eğer kütüphane fonksiyonunu kullanmadan normal yolla yapmak istersek aşağıdaki kodu kullanabiliriz. Mantığını açıklamak gerekirse, girilen ifadenin tüm karakterlerini bir döngüden geçiriyoruz ta ki “\0” ifadesini görene kadar. Zaten döngünün koşulu da bu oluyor, ne zaman “\0” ifadesini bulursa o zaman döngü sona eriyor, ki bu girilen ifadenin sonuna gelindiğini gösteriyor. Daha sonra tüm karakterleri teker teker s2 değişkenin karakterlerine eşitliyoruz. Bir nevi kopyalamış oluyoruz.

#include<iostream.h>
#include<conio.h>
 
int main()
{
  char s1[100], s2[100], i;
  clrscr();
  cout<<"1. ifadeyi giriniz s1 : ";
  cin>>s1;
  for(i=0; s1[i]!='\0'; ++i)
  {
    s2[i]=s1[i];
  }
  s2[i]='\0';
  cout<<"s2 degiskeni : "<<s2;
  getch();
}

Çıktı

1. ifadeyi giriniz s1 : Caner s2 degiskeni : Caner