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

طريقة تحويل النتغير من Int إلى String

بدأه *cpu* في 1 مايو 2008 · 18 رد · 1,290 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم..

ماهي طريقة التحويل من

string

الى

int

و كيف أقرأ string كاملة و إن كان فيها مسافه..دون استخدام مصفوفة

مثلا جربت getlin(cin,str);

لكن لا تعمل دائما

وفقكم الله

تم تعديل هذه المشاركة بواسطة *cpu* في 1 مايو 2008 في 14:55

#2

استخدم الدالة :

int sprintf( char *buffer, const char *format [, argument] ... );



int main()
{
	int		i;
	char	buffer[16];
	cin >> i;
	sprintf( buffer, "%ld", i );
	cout << buffer << "\n";
	system("pause");
	return 0;
}

تم تعديل هذه المشاركة بواسطة GamingMasteR في 1 مايو 2008 في 15:20

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#3

شكرا لك....

ولكن عنوان الموضوع يختلف عن ماطلبت..

انا اريد ان احول من string إلى int

#4

تفضل

#include<iostream>

using std::cout;
using std::endl;
using std::string;
int main()
{
string  x="20";
x.c_str(); 
int y=atoi(x.c_str());
cout<<y;
return 0;
}

تم تعديل هذه المشاركة بواسطة time1 في 1 مايو 2008 في 18:27

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#5

شكرا لك..جزاك الله خير

لكن كيف أقرأ string كامله بما فيها من مسافات؟؟؟

getline(cin,str)

لم تصلح

#6

قم بفلترتها في string جديد بعد حذف المسافات ...

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#7
GamingMasteR كتب:
قم بفلترتها في string جديد بعد حذف المسافات ...

بارك الله فيك..ارجو التوضيح

#8
اقتباس
شكرا لك..جزاك الله خير

لكن كيف أقرأ string كامله بما فيها من مسافات؟؟؟

getline(cin,str)

لم تصلح

تفضل اخي هذا مثال على قراءة string كاملة

#include <iostream>
#include <string>
using namespace std;

int main () 
{
  string str;
  cout << "Enter your string: ";
  getline(cin,str);
  cout << "your string is :" << str <<endl;
return 0;
}
llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#9

نعم جربت هذه الدالة اكثر من مره لكن أحيانا لا تقرأ..فما الحل؟؟

#10

لا تقرأ ؟؟؟

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#11

ألا يوجد حل لتلك المشكلة؟؟

#12

ماهي المشكلة ؟

لم افهم قصدك عندما قلت : " لا تقرأ "

جرب المثال الذي اعطيتك اياه , اذا نفذ امشي بناء عليه , واذا لم ينفذ تأكد انك مستدعي الملفات الرئيسية مثل ماانا مستدعيها , واذا سويت كل شئ ومانفع , اعرض المثال او الخطا

تحياتي

تم تعديل هذه المشاركة بواسطة time1 في 2 مايو 2008 في 07:12

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#13

قد تكون المشكلة بسبب كثرة استدعاء هذه الدالة في العديد من دوال مشروعي..

مع العلم أني اطبقها في برنامج صغير و تمشي

هل أحد يستخدم visual c++2008؟؟؟؟؟؟و طبق القوالب إذا كان نوع القالب structure

مثلا

queue<student>q1;

تكون غير مقبولة؟؟ما السبب

#14

استخدم الامر

cin.ignore();

بعد كل cin

tvquran_6.gif

#15
اقتباس
قد تكون المشكلة بسبب كثرة استدعاء هذه الدالة في العديد من دوال مشروعي..

مع العلم أني اطبقها في برنامج صغير و تمشي

هل أحد يستخدم visual c++2008؟؟؟؟؟؟و طبق القوالب إذا كان نوع القالب structure

مثلا

queue<student>q1;

تكون غير مقبولة؟؟ما السبب

لم افهم شي !! :wacko:

تم تعديل هذه المشاركة بواسطة time1 في 2 مايو 2008 في 10:06

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#16
فهدالشلوي كتب:
استخدم الامر

cin.ignore();

بعد كل cin

شكرا لك..

لكن لم يتم قراءة عباره كامله

اقصد اني لما استخدم getline(cin,str)

تضبط في البرامج القصيره لكن في البرامج الطويله ما تضبط....ربما يكون هذا هو السبب

#17
اقتباس
تضبط في البرامج القصيره لكن في البرامج الطويله ما تضبط....ربما يكون هذا هو السبب

اهلين اخي الحبيب cpu

تأكد يا اخي الكريم انك تستدعي الدوال من الملفات الرئسية بنفس الطريقة التي استخدمتها انا , ثانيا اذا الخطأ مازال مستمرا , حاول تعرض لنا الكود , او الخطا الناتج وان شاء الله سنساعدك .

تم تعديل هذه المشاركة بواسطة time1 في 2 مايو 2008 في 16:37

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#18

هل يوجد طريقة حتى يكون template مقبول في visual c++2008???

مثلا..

#include <iostream>

using namespace std;

struct x

{

int num;

};

template<class t>

class student

{

void ss(student<t>g);

};

template<class t>

void student<t>::Ss(student<t>g)

{

cout<<g.num;

}

void main()

{

x x1;

x1.num=1;

student<x> s;

s.ss(x1);

}

رسالة الخطأ..

------ Build started: Project: testisdigit, Configuration: Debug Win32 ------

Compiling...

b.cpp

c:\documents and settings\user\my documents\visual studio 2008\projects\project1\testisdigit\testisdigit\b.cpp(26) : error C2664: 'student<t>::Ss' : cannot convert parameter 1 from 'x' to 'student<t>'

with

[

t=x

]

No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Build log was saved at "file://c:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\Project1\testisdigit\testisdigit\Debug\BuildLog.htm"

testisdigit - 1 error(s), 0 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

#19

اهلين اخي الحبيب *cpu*

راجع قوانين المشاركة بالمنتدى

5. ممنوع طرح أكثر من سؤال فى موضوع واحد ليسهل البحث عن المواضيع لاحقا

وشكرا

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

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