आप अपने for
प्रारंभकर्ता है, जो अवैध है और क्योंकि आप इसे *quote != NULL
भाग में अपसंदर्भन रहे एक एक्सेस-उल्लंघन का कारण होगा में quote
फिर नियत कर रहे हैं।
अर्थात् NULL
और '\0'
समकक्ष हैं, लेकिन वाक्य रचनात्मक रूप से मैं इसे पसंद करूंगा। ध्यान दें कि इस दृष्टिकोण का उपयोग करके आप एक सूचक (स्ट्रिंग की शुरुआत) को रखते हैं।
wchar const_t* quote = L"To be or not to be, that is the question.";
for(wchar_t* c = quote; *c != '\0'; c++) {
*c = tolower(*c);
}
वैकल्पिक रूप से एक सूचकांक का उपयोग कर:
wchar const_t quote[] = L"To be or not to be, that is the question.";
for(size_t i = 0; i < sizeof(quote); i++) {
quote[i] = tolower(quote[i]);
}
(ध्यान दें कि sizeof
के शब्दों अगर quote
का मूल्य संकलन समय पर नहीं जाना जाता है बदल जाएगा)
बिंदु पर कटौती करने के लिए, 'उद्धरण = 0' गलत है। – Zong
क्यों 'हस्ताक्षरित int' का उपयोग नहीं करें? – Recker