PDA

View Full Version : سوال: ایجاد آرایه ای از رشته ها



ma.nejati
دوشنبه 01 شهریور 1389, 18:31 عصر
سلام دوستان
من چطور مي توان مجموعه اي از رشته ها را در آرايه ذخيره كنم ، من مي خواهم هر رشته در يك خانه آرايه ذخيره شود . آيا ميشه اين كار را كرد در صورتيكه رشته خودش يك آرايه است.؟

tdkhakpur
دوشنبه 01 شهریور 1389, 20:31 عصر
char StrArray[10][35]={0};
strcpy(StrArray[0], "Name1")
strcpy(StrArray[1], "Name2")
strcpy(StrArray[2], "Name3")
strcpy(StrArray[3], "Name4")
strcpy(StrArray[4], "Name5")

ma.nejati
دوشنبه 01 شهریور 1389, 21:46 عصر
char StrArray[10][35]={0};
strcpy(StrArray[0], "Name1")
strcpy(StrArray[1], "Name2")
strcpy(StrArray[2], "Name3")
strcpy(StrArray[3], "Name4")
strcpy(StrArray[4], "Name5")

ببخشيد دوست عزيز ، خيلي اين راهنمايي شما مفيد بود . ميشه بفرماييد من مي خواهم داده هاي اين آرايه را در فايل بريزم چه كار بكنم. من از ذستور write و put هر چقدر استفاده مي كنم؟خطا مي گيرد برنامه. من از چه دستورات ديگري مي توانم استفاده كنم.؟؟؟:متفکر:

Salar Ashgi
دوشنبه 01 شهریور 1389, 22:19 عصر
میتونید از خود کلاس String.h نیز استفاده کنید :



#include <iostream>
#include <conio>
#include <string>
using namespace std;
int main(){
string ar[]={"reza","ali","mohsen","123","abcde"};
for(int i=0;i<5;i++)
cout<<ar[i]<<endl;
getch();
}


در مورد کار با فایل ها :

http://barnamenevis.org/forum/showthread.php?t=219367&highlight=%DA%A9%D8%A7%D8%B1+%D9%81%D8%A7%DB%8C%D9 %84%D9%87%D8%A7

موفق و پیروز باشید ./

tdkhakpur
سه شنبه 02 شهریور 1389, 00:49 صبح
ميشه بفرماييد من مي خواهم داده هاي اين آرايه را در فايل بريزم چه كار بكنم. من از ذستور write و put هر چقدر استفاده مي كنم؟خطا مي گيرد برنامه. من از چه دستورات ديگري مي توانم استفاده كنم.؟؟؟

فقط باید مراقب طول آرایه برای جایگزاری رشته باشد.


FILE *fp;
fp = fopen("data.txt", "wb+");
for( int i=0; i<5; i++)
fwrite(StrArray[i], strlen(StrArray[i]), 1, fp)
fclose(fp)

mehdi.mousavi
سه شنبه 02 شهریور 1389, 05:08 صبح
سلام دوستان من چطور مي توان مجموعه اي از رشته ها را در آرايه ذخيره كنم ، من مي خواهم هر رشته در يك خانه آرايه ذخيره شود . آيا ميشه اين كار را كرد در صورتيكه رشته خودش يك آرايه است.؟

سلام.
اگر رشته ها مشخص هستن، من این روش رو پیشنهاد میدم:

TCHAR *p[] = {_T("Test1"), _T("Test2"), _T("Test3")};
for(int i = 0; i < sizeof(p) / sizeof(p[0]); i++)
{
//Do whatever suits you with p[i]....
}

اینطوری دیگه نیازی به استفاده از strcpy و ... نیست. کدتون هم بسیار خواناتره... Bounds ای هم در تعریف p نیز در نظر نگرفته اید، در نتیجه، دستتون برای تغییرات آتی بازه...

موفق باشید.

ma.nejati
سه شنبه 02 شهریور 1389, 09:19 صبح
سلام.

TCHAR *p[] = {_T("Test1"), _T("Test2"), _T("Test3")};
for(int i = 0; i < sizeof(p) / sizeof(p[0]); i++)
{
//Do whatever suits you with p[i]....
}

موفق باشید.
با سلام خدمت شما دوست عزيز
ببخشيد ميشه درباره روشي كه فرموديد يك مقداربيشتر توضيح بدهيد . كه اين روش به چه صورت عمل مي كند؟

MaHyaR.DrAcOulA
سه شنبه 02 شهریور 1389, 11:05 صبح
میتونید از خود کلاس String.h نیز استفاده کنید :



#include <iostream>
#include <conio>
#include <string>
using namespace std;
int main(){
string ar[]={"reza","ali","mohsen","123","abcde"};
for(int i=0;i<5;i++)
cout<<ar[i]<<endl;
getch();
}


در مورد کار با فایل ها :

http://barnamenevis.org/forum/showthread.php?t=219367&highlight=%DA%A9%D8%A7%D8%B1+%D9%81%D8%A7%DB%8C%D9 %84%D9%87%D8%A7

موفق و پیروز باشید ./

اگه ما بخویم که خود کاربر یه سری رشته های نامحدود وارد کنه چیکاری باید انجام بدیم سالار جان.؟
برای اونم راهی هست؟

Salar Ashgi
سه شنبه 02 شهریور 1389, 13:19 عصر
اگه ما بخویم که خود کاربر یه سری رشته های نامحدود وارد کنه چیکاری باید انجام بدیم


اگر منظورتون نامحدود مشخص هستش ، میتونید توسط اشاره گر ها ، آرایه پویا از String ها ایجاد کنید ./

و اگر منظورتون نامحدود نامعلوم است ، میتونید از Vector استفاده کنید ./

موفق باشید ./