سلام. وقت بخیر
سوال : چطور امکان داره این برنامه کوتاه انجام بشه؟
#include <stdio.h>
Void main(void){
Char *a = “hadi”;
Char b;
b = a;
}
زبان C
چون نوع متغییر ها با هم فرق میکنه این کار انجام نمیشه
چیکار باید کرد؟
سلام. وقت بخیر
سوال : چطور امکان داره این برنامه کوتاه انجام بشه؟
#include <stdio.h>
Void main(void){
Char *a = “hadi”;
Char b;
b = a;
}
زبان C
چون نوع متغییر ها با هم فرق میکنه این کار انجام نمیشه
چیکار باید کرد؟
b = *a صحیح است
سلامb = *a صحیح است
دوست عزیز فکر نکنم این دستور درست باشه چون a آرایه ای از نوع char هست و b فقط یک متغییر.
(امید وارم درست گفته باشم چون الان سی ندارم)
ممنونم از توجهتون
ولی منظور منم همینه که چطور این امکان داره؟
که یک آرایه رو به یک متغییر رشته ای تبدیل کنم؟
سلامکه یک آرایه رو به یک متغییر رشته ای تبدیل کنم؟
من سی زیاد کار نکردم اما فکر کنم شما باید از CString.h استفاده کنید برای کار با رشته ها .
از کلاس string در هدرفایل string از مجموعه کتابخانهی STL استفاده کنید.
این پیوند رو مطالعه کنید:
شما همون کاری که گفتم را بکن بعد دستور
printf (&b) را بنویس و ببین که کلمه hadi نوشته میشه یا نه!!!
ضمنا در C خالی که شما نه نوع string داری نه کلاس string راهش اینه که با پوینتر و آرایه ای از char کار کنی.
امکان داره برای کار با pointer و char یک مثال بزنید؟؟
مثلا ریز کردن یک رشته ساده و ریختن اون تو خونه های یک آرایه
رشته: y=hadi:hoda
مثلا :
x= strtok(y,":");
char* X = "String" ;
char a[6] ;
a[0] = *X;
a[1] = *(X + 1);
a[2] = *(X + 2);
a[3] = 0;
char* Y = a; // Y = Str
char P = *X; // P = S
char* Z = (X + 3); // Z = ing
ممنون از راهنماییتون
با این اوصاف کار کردن با یک رشته ساده تو زبان c مثل آپولو هوا کردن میمونه!!!
آره از ی سری لحاظ کار با رشته سخته .
ولی توابع کار با رشته وجود داره که کار رو راحت تر میکنه !
ی مثال :
char x[10];
#include <iostream.h>
void strtok(char* p , char S)
{
int i = 0;
while(*(p + i) != S)
{
x[i] = *(p + i);
i++;
}
}
int main()
{
strtok("Test:Trrrr" , ':');
cout << x;
}
TARGET عزیز. واقعا ممنونم از وقتی که برای آموزش و راهنمایی امثال من صرف میکنی.
ابن کد رو میتونی یکم برام توضیح بدی؟
ی متغیر سراسری تعریف کردم که بعد از جداسازی رشته رو بذارم اونجا
بعدم تابع که پارامتر اول اشاره گر به رشته پارامتر دوم پارامتری که قراره اونو دید جدا کنه
تابع از جایی که اشاره گر هست یعنی ابتدای رشته ی بایت ی بایت میره جلو و هموون بایتو داخل آرایه میذاره تا وقتی اون بایت برابر با کاراکتر مورد نظر باشه که پایان بده کار رو
مرسی targete عزیز. ممنونم از راهنماییت. کاملا متوجه شدم