मैं सी में structs के बारे में जानने की कोशिश कर रहा हूँ, लेकिन मुझे समझ नहीं आता क्यों मैं अपने उदाहरण मैं के रूप में शीर्षक असाइन नहीं कर सकते:सी struct समस्या
#include <stdio.h>
struct book_information {
char title[100];
int year;
int page_count;
}my_library;
main()
{
my_library.title = "Book Title"; // Problem is here, but why?
my_library.year = 2005;
my_library.page_count = 944;
printf("\nTitle: %s\nYear: %d\nPage count: %d\n", my_library.title, my_library.year, my_library.page_count);
return 0;
}
त्रुटि संदेश:
books.c: In function ‘main’:
books.c:13: error: incompatible types when assigning to type ‘char[100]’ from type ‘char *’
धन्यवाद, "# शामिल करें" प्रोग्राम संकलित करता है और अपेक्षा के अनुसार काम करता है। मैंने पाया है कि सभी उदाहरण स्कैनफ का उपयोग कर रहे हैं या स्ट्रिंग को भरने के लिए मिलता है, और यह अब मुझे समझ में आता है। –
धन्यवाद पीटर। मैं 'strncpy' विकल्पों पर विचार करता हूं, जब तक कि आप सुनिश्चित न हों कि आपका इनपुट डेटा हमेशा फिट होने के लिए पर्याप्त छोटा होगा। –
हालांकि स्ट्रिंग्सएच सहित आपके कार्यान्वयन पर काम हो सकता है, आपको वास्तव में strcpy घोषित करने के लिए string.h शामिल होना चाहिए। –