दो अन्य तरीकों strcpy(str, "");
और string[0] = 0
हैं
वास्तव में चर सामग्री (हटाने के लिए मामले में आप गंदे कोड है जो नहीं है उपरोक्त स्निपेट के साथ ठीक से काम करना: पी) नीचे दिए गए उदाहरण में लूप का उपयोग करें।
#include <string.h>
...
int i=0;
for(i=0;i<strlen(string);i++)
{
string[i] = 0;
}
मामले में आप शुरू से ही वर्ण की एक गतिशील आवंटित सरणी साफ़ करना चाहते हैं, तो आप या तो malloc() और memset() या के संयोजन का उपयोग कर सकते हैं - और इस तरह से तेजी से होता है - calloc() जो मॉलोक के समान ही काम करता है लेकिन पूरे सरणी को नल के साथ प्रारंभ करता है।
आखिरकार मैं चाहता हूं कि आप अपना रनटाइम दिमाग में रखें। सभी तरह से, यदि आप विशाल सरणी (6 अंक और ऊपर) को संभालने वाले हैं, तो आपको पूरे स्ट्रिंग के माध्यम से memset() चलाने के बजाए पहले मान को नल पर सेट करने का प्रयास करना चाहिए।
यह पहली बार गंदे लग सकता है, लेकिन यह तेज़ तरीका है। पहले शून्य पर सभी पात्रों अन्य तरीकों बंद हो सकता है शून्य होगा) स्ट्रिंग के
स्रोत
2014-04-03 05:31:23
आपका उदाहरण उलझन में है। जाहिर है बफर को कहीं और घोषित किया गया है और आप इसे शाब्दिक से शुरू करने का प्रयास करते हैं। यहां कुछ भी साफ़ करने की आवश्यकता नहीं है। – pmr
string.empty() स्ट्रिंग को संशोधित नहीं करता –