الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

copy strings

مغلق
بدأه st0rm-man في 1 أبريل 2007 · 4 رد · 588 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
#include<stdio.h>
#include<stdlib.h>
void copy(char *from,char * to );
char array[20], *array2;
main()
{
	  array2=(malloc(20*(sizeof(char))));
	  array2;
	  printf("enter a string to store in array:\n");
	  scanf("%s",array);
	  printf("\nyou posted %s",array);
	  printf("\ni will copy it");
	  copy(array,array2);
	  }
	  void copy (char *from , char *to)
	  {

									  *array2=*array;

									   printf("\narray2=%s",array2);
									   }

حاولت كثير وكثير وكثير

وهذه الاشياء احتاجها في عملي

اريد نسخ السلسه النصيه من array الي المؤشر array2 وقد قكت بحجز مسااحه له

وعند النسخ يعطيني رموز غريبه

sووجه مبتسم = فقط :(

مالمشكله ؟

شكرا مقدما

وشكؤرا جزيل الشكر للاخ الي ساعندي في malloc

#2
#include<stdio.h>
#include<stdlib.h>
void copy(char *from,char * to );
char array[20], array2[20];
main()
{


	  printf("enter a string to store in array:\n");
	  gets(array);
	  printf("\nyou posted %s",array);
	  printf("\ni will copy it");
	  copy(array,array2);
	  }
	  void copy (char *from , char *to)
	  {
		   int count;
	  for(count=0;count<20;count++)
	  {

									 array2[count]=array[count];
									 }   
									   printf("\narray2=%s",array2);
									   }

هزمتها الحمد لله :D:d:d:d شكرا شباب بس ياريت حد يفهمني ليه حصل كده ؟

#3
#include<stdio.h>
#include<stdlib.h>
void copy(char *from,char * to );
char *array, *array2;
main()
{
	  array2=(malloc(20*(sizeof(char))));
	  array=(malloc(20*(sizeof(char))));
	  printf("enter a string to store in array:\n");
	  gets(array);
	  printf("\nyou posted %s",array);
	  printf("\ni will copy it");
	  copy(array,array2);
	  }
	  void copy (char *from , char *to)
	  {

									  array2=array;

									   printf("\narray2=%s",array2);
									   }

بالحجز الديناميكي :D

#4

السلام عليكم ,,

أخي العزيز عند نسخ محتويات مصفوفة إلى مصفوفة أخرى كما في الدالة copy فالمفروض أنك تريد نسخ المحتوى أو السلسلة النصية و ليس عنوانها ,,

void copy ( char *source, char *target ){

   while ( *target = *source );
}

قد تبدو الدالة غريبة نوعاً ما و لكنها بسيطة,,

كل ما تقوم به الدالة هو نسخ كل حرف في المصفوفة الأولى إلى المصفوفة الثانية حتى تواجه الحلقة الحرف "صفر" أو 0\ فتتوقف الحلقة ,,

تحياتي ,,

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 3 أبريل 2007 في 00:36

#5

try to use strcopy function in .NET

or use this method but its not safe

Re-entrant but not thread-safe.. 

char * strcopy(char * dst,const char * src) 
{  

if(*src!='')   
//	\  '0'
strcopy(dst+1,src+1); 
*dst=*src; 

return(dst); 
}

تم تعديل هذه المشاركة بواسطة firass88 في 5 أبريل 2007 في 22:36

هذا الموضوع مغلق.

مواضيع مشابهة