الصفحة الرئيسية لمجموعات Google
تعليمات | تسجيل الدخول
warning for 'char* data = "some string" '
هناك حالياً عدة مواضيع في هذه المجموعة يتم عرضها كأول موضوع. لجعل هذا الموضوع يظهر كأول موضوع، الرجاء إزالة هذا الخيار من المواضيع اﻷخرى.
وقع خطأ في معالجة طلبك. الرجاء حاول مجددا.
تمييز
  6‏ من الرسائل - طي الكل
المجموعة التي تقوم بالإرسال إليها هيمجموعة Usenet. الرسائل المرسلة لهذه المجموعة ستجعل بريدك مرئيًا لأي فرد على شبكة الإنترنت
لم يتم إرسال رسالة الرد حتى الآن.
تم النشر الخاص بك بنجاح
 
من:
إلى:
نسخة إلى:
استجابةً إلى:
أضف "نسخة إلى" | أضف "استجابةً إلى" | تحرير الموضوع
الموضوع:
التحقق:
لغرض التحقق من الصحة، يرجى كتابة الحروف التي تراها في الصورة أدناه أو الأرقام التي تسمعها عند النقر فوق رمز وصول ذوي الاحتياجات الخاصة. استمع وإكتب الأرقام التي تسمعها
 
mthread  
عرض ملف التعريف
 خيارات أكثر 1 ديسمبر 2008, 14:19
مجموعات أخبار: comp.lang.c++
من: mthread <rjk...@gmail.com>
التاريخ: Mon, 1 Dec 2008 04:19:59 -0800 (PST)
محلّي: ‏الاثنين 1 ديسمبر 2008 14:19‏
الموضوع: ‏warning for 'char* data = "some string" '‏
Hi,
       I am developing a http parser in C++. When I use the statement,
           char* data = "some string";
       I receive the warning,
           'warning : deprecated conversion from sting constant to
char*'

       kindly let me know why the statement is deprecated. I have just
upgraded
       my OS(from fedora 8 to fedora 9) and I did not get the warning
in my previous OS(fedora 8).

       I also have a need to copy the string in character pointer as I
do all the parsing using the data available in this pointer. I would
also like to add that this warning is not shown when I use a 'const
char*'(ie const char* data = "some string" ).


يجب تسجيل الدخول قبل إرسال رسائلك.
لنشر رسالة يجب أولاً أن تنضم إلى هذه المجموعة.
يرجى تحديث اسم الشهرة الخاص بك على صفحة إعدادات الاشتراك قبل النشر.
لا يوجد لديك الإذن المطلوب للنشر.
maverik  
عرض ملف التعريف
 خيارات أكثر 1 ديسمبر 2008, 14:35
مجموعات أخبار: comp.lang.c++
من: maverik <maverik.m...@gmail.com>
التاريخ: Mon, 1 Dec 2008 04:35:05 -0800 (PST)
محلّي: ‏الاثنين 1 ديسمبر 2008 14:35‏
الموضوع: ‏Re: warning for 'char* data = "some string" '‏
On Dec 1, 3:19 pm, mthread <rjk...@gmail.com> wrote:

> Hi,
>        I am developing a http parser in C++. When I use the statement,
>            char* data = "some string";

1. Use std::string

>        I receive the warning,
>            'warning : deprecated conversion from sting constant to
> char*'

Ok. Compiler tells you that you try to convert const char* to char*
because string literal "some string" is type of const char*. Of
course, in common it's bad to convert const char* to char* because the
variable of type const char* shouldn't be changed, but using char* you
can change it.
So, complier fairly warnings you.

>        kindly let me know why the statement is deprecated. I have just
> upgraded
>        my OS(from fedora 8 to fedora 9) and I did not get the warning
> in my previous OS(fedora 8).

Probably, you complier has been upgraded with new version of distr.

>        I also have a need to copy the string in character pointer as I
> do all the parsing using the data available in this pointer. I would
> also like to add that this warning is not shown when I use a 'const
> char*'(ie const char* data = "some string" ).

In your case you can try

char* data = /* memory allocation */;
strcpy(data, "some string");

/* usage of data */
...

/* free data */

Or use std::string:

std::string data = "some string"; /* Copying */


يجب تسجيل الدخول قبل إرسال رسائلك.
لنشر رسالة يجب أولاً أن تنضم إلى هذه المجموعة.
يرجى تحديث اسم الشهرة الخاص بك على صفحة إعدادات الاشتراك قبل النشر.
لا يوجد لديك الإذن المطلوب للنشر.
maverik  
عرض ملف التعريف
 خيارات أكثر 1 ديسمبر 2008, 14:47
مجموعات أخبار: comp.lang.c++
من: maverik <maverik.m...@gmail.com>
التاريخ: Mon, 1 Dec 2008 04:47:37 -0800 (PST)
محلّي: ‏الاثنين 1 ديسمبر 2008 14:47‏
الموضوع: ‏Re: warning for 'char* data = "some string" '‏
On Dec 1, 3:35 pm, maverik <maverik.m...@gmail.com> wrote:

> Ok. Compiler tells you that you try to convert const char* to char*
> because string literal "some string" is type of const char*. Of
> course, in common it's bad to convert const char* to char* because the
> variable of type const char* shouldn't be changed,

Strictly speaking, the value (of type T) to that pointer points can't
be changed in case of const T*. It differs from T* const - constant
pointer (not pointer to constant) where pointer can't be changed (but
value it points to can be)

يجب تسجيل الدخول قبل إرسال رسائلك.
لنشر رسالة يجب أولاً أن تنضم إلى هذه المجموعة.
يرجى تحديث اسم الشهرة الخاص بك على صفحة إعدادات الاشتراك قبل النشر.
لا يوجد لديك الإذن المطلوب للنشر.
Pete Becker  
عرض ملف التعريف
 خيارات أكثر 1 ديسمبر 2008, 18:08
مجموعات أخبار: comp.lang.c++
من: Pete Becker <p...@versatilecoding.com>
التاريخ: Mon, 1 Dec 2008 11:08:18 -0500
محلّي: ‏الاثنين 1 ديسمبر 2008 18:08‏
الموضوع: ‏Re: warning for 'char* data = "some string" '‏
On 2008-12-01 07:35:05 -0500, maverik <maverik.m...@gmail.com> said:

> Ok. Compiler tells you that you try to convert const char* to char*
> because string literal "some string" is type of const char*. Of
> course, in common it's bad to convert const char* to char* because the
> variable of type const char* shouldn't be changed, but using char* you
> can change it.

There's nothing wrong with changing a variable of type const char*. The
issue is changing the character data that it points to. Always try to
keep this distinction clear. It will save you many headaches.

--
  Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
Standard C++ Library Extensions: a Tutorial and Reference
(www.petebecker.com/tr1book)


يجب تسجيل الدخول قبل إرسال رسائلك.
لنشر رسالة يجب أولاً أن تنضم إلى هذه المجموعة.
يرجى تحديث اسم الشهرة الخاص بك على صفحة إعدادات الاشتراك قبل النشر.
لا يوجد لديك الإذن المطلوب للنشر.
maverik  
عرض ملف التعريف
 خيارات أكثر 1 ديسمبر 2008, 18:11
مجموعات أخبار: comp.lang.c++
من: maverik <maverik.m...@gmail.com>
التاريخ: Mon, 1 Dec 2008 08:11:57 -0800 (PST)
محلّي: ‏الاثنين 1 ديسمبر 2008 18:11‏
الموضوع: ‏Re: warning for 'char* data = "some string" '‏
On Dec 1, 7:08 pm, Pete Becker <p...@versatilecoding.com> wrote:

> On 2008-12-01 07:35:05 -0500, maverik <maverik.m...@gmail.com> said:

> > Ok. Compiler tells you that you try to convert const char* to char*
> > because string literal "some string" is type of const char*. Of
> > course, in common it's bad to convert const char* to char* because the
> > variable of type const char* shouldn't be changed, but using char* you
> > can change it.

> There's nothing wrong with changing a variable of type const char*. The
> issue is changing the character data that it points to. Always try to
> keep this distinction clear. It will save you many headaches.

See my second post.


يجب تسجيل الدخول قبل إرسال رسائلك.
لنشر رسالة يجب أولاً أن تنضم إلى هذه المجموعة.
يرجى تحديث اسم الشهرة الخاص بك على صفحة إعدادات الاشتراك قبل النشر.
لا يوجد لديك الإذن المطلوب للنشر.
Andrey Tarasevich  
عرض ملف التعريف
 خيارات أكثر 2 ديسمبر 2008, 04:29
مجموعات أخبار: comp.lang.c++
من: Andrey Tarasevich <andreytarasev...@hotmail.com>
التاريخ: Mon, 01 Dec 2008 18:29:42 -0800
محلّي: ‏الثلاثاء 2 ديسمبر 2008 04:29‏
الموضوع: ‏Re: warning for 'char* data = "some string" '‏

maverik wrote:
> ...
>>        I receive the warning,
>>            'warning : deprecated conversion from sting constant to
>> char*'

> Ok. Compiler tells you that you try to convert const char* to char*
> because string literal "some string" is type of const char*.

Just to nitpick a bit, I'd like to note that string literal "some
string" has type 'const char[12]', not 'const char*'.

--
Best regards,
Andrey Tarasevich


يجب تسجيل الدخول قبل إرسال رسائلك.
لنشر رسالة يجب أولاً أن تنضم إلى هذه المجموعة.
يرجى تحديث اسم الشهرة الخاص بك على صفحة إعدادات الاشتراك قبل النشر.
لا يوجد لديك الإذن المطلوب للنشر.
نهاية الرسائل
« الرجوع إلى المناقشات « موضوع أحدث     موضوع أقدم »

إنشاء مجموعة - مجموعات Google - صفحة Google الرئيسية - شروط الخدمة - سياسة الخصوصية
©2009 Google