मैं एक लिस्टबॉक्स जिसके साथ से एक मिल गया है Unicodestring परिवर्तित चार शब्दों की पंक्तियों में शामिल है। जब मैं एक पंक्ति पर क्लिक करता हूं, तो इन शब्दों को चार अलग-अलग टेक्स्टबॉक्स में देखा जाना चाहिए। अब तक, मैं सब कुछ काम कर रहा है, फिर भी मैं वर्ण परिवर्तित करने के साथ एक समस्या है। लिस्टबॉक्स से स्ट्रिंग एक UnicodeString है, लेकिन strtok एक चार [] का उपयोग करता है। संकलक बताता है कि यूनिकोडस्ट्रिंग को चार [] में कनवर्ट नहीं कर सकता है।लिए चार []
{
int a;
UnicodeString b;
char * pch;
int c;
a=DatabaseList->ItemIndex; //databaselist is the listbox
b=DatabaseList->Items->Strings[a];
char str[] = b; //This is the part that fails, telling its unicode and not char[].
pch = strtok (str," ");
c=1;
while (pch!=NULL)
{
if (c==1)
{
ServerAddress->Text=pch;
} else if (c==2)
{
DatabaseName->Text=pch;
} else if (c==3)
{
Username->Text=pch;
} else if (c==4)
{
Password->Text=pch;
}
pch = strtok (NULL, " ");
c=c+1;
}
}
मैं जानता हूँ कि मेरे कोड नहीं करता है वास्तव में अच्छा, बहुत बुरा लग रही: इस कोड मैं इस के लिए उपयोग कर रहा हूँ है। मैं बस सी ++ में कुछ प्रोग्रामिंग सीख रहा हूँ। क्या कोई मुझे बता सकता है कि इसे कैसे परिवर्तित करें?
को बदलने आपको बहुत बहुत धन्यवाद की बचत होती है !! मैं यह जानने के लिए जा रहा हूं कि आपने यह कैसे किया, लेकिन यह काम किया! –
मैं हाल ही में लंबाई ansiB.Length() + 1 के चार सरणी बनाने के लिए मेरी पोस्ट का संपादन किया। यह महत्वपूर्ण है। सुनिश्चित करें कि आप वह परिवर्तन करते हैं या आप यादृच्छिक क्रैश प्राप्त कर सकते हैं। –
मुझे प्रोग्राम बंद करने के बाद एक त्रुटि मिलती है। जब मैं कोड आपके द्वारा दी गई इस्तेमाल किया, मैं एक acces उल्लंघन मिलता है, जब मैं यह Forms.hpp को /* TCustomForm.Destroy */इनलाइन __fastcall आभासी ~ TForm (शून्य) कूदता तोड़ने {} इसका मतलब यह कर सकते हैं कुछ के लिए जा रहा है कि वहाँ स्ट्र या कुछ के साथ गलत? –