다음을 고려하십시오. sizeof가 "23"을 반환하는 이유는 무엇입니까? 그리고 어떻게 실제 크기를 얻을 수 있습니까? (없이 계수 ㅎ)거친 off-the-mark 값을주는 문자 배열 크기
char defaultsettings[] = "<?xml version=\"1.0\"?>\n";
strcat(defaultsettings, "<CsSettings>\n<options>\n");
strcat(defaultsettings, "<spin name=\"maxTries\" value=\"1000\" />\n");
strcat(defaultsettings, "<spin name=\"rollCount\" value=\"1\" />\n");
strcat(defaultsettings, "<check name=\"matchItems\" value=\"1\" />\n");
strcat(defaultsettings, "<check name=\"highlightItems\" value=\"1\" />\n");
strcat(defaultsettings, "<check name=\"buyListMode\" value=\"0\" />\n");
strcat(defaultsettings, "<radio name=\"matchItemType\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"matchLocations\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"highlightLocations\" value=\"1\" />\n");
strcat(defaultsettings, "<check name=\"allMissionsSameLocation\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"highlightFind\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"highlightReturn\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"highlightRepair\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"highlightPerson\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"highlightKill\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"ignoreFind\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"ignoreReturn\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"ignoreRepair\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"ignorePerson\" value=\"0\" />\n");
strcat(defaultsettings, "<check name=\"ignoreKill\" value=\"1\" />\n");
strcat(defaultsettings, "<combo name=\"itemValueBase\" value=\"1\" />\n");
strcat(defaultsettings, "<check name=\"matchMissionValue\" value=\"0\" />\n");
strcat(defaultsettings, "<spin name=\"matchMissionMinValue\" value=\"10000\" />\n");
strcat(defaultsettings, "<check name=\"levelCalcFixerMode\" value=\"0\" />\n");
strcat(defaultsettings, "<spin name=\"bneBonus\" value=\"1\" />\n");
strcat(defaultsettings, "<spin name=\"levelCalc\" value=\"1\" />\n");
strcat(defaultsettings, "<spin name=\"missionCalc\" value=\"1\" />\n");
strcat(defaultsettings, "<check name=\"log\" value=\"0\" />\n");
strcat(defaultsettings, "<entry name=\"useKey\" value=\"e\" />\n");
strcat(defaultsettings, "</options>\n<items>\n</items>\n");
strcat(defaultsettings, "<locations>\n<location>\n<string>Milky way</string>\n");
strcat(defaultsettings, "<x>\n<var>3050</var>\n<var>3400</var>\n</x>\n");
strcat(defaultsettings, "<y>\n<var>1000</var>\n<var>1200</var>\n</y>\n");
strcat(defaultsettings, "<ignore>1</ignore>\n<enabled>1</enabled>\n");
strcat(defaultsettings, "<coordsEnabled>1</coordsEnabled>\n");
strcat(defaultsettings, "</location>\n<location>\n<string>Milky way</string>\n");
strcat(defaultsettings, "<x>\n<var>3500</var>\n<var>3850</var>\n</x>\n");
strcat(defaultsettings, "<y>\n<var>700</var>\n<var>950</var>\n</y>\n");
strcat(defaultsettings, "<ignore>1</ignore>\n<enabled>1</enabled>\n");
strcat(defaultsettings, "<coordsEnabled>1</coordsEnabled>\n");
strcat(defaultsettings, "</location>\n</locations>\n</CsSettings>");
printf("%s\nSize: %d\n\n",defaultsettings,sizeof(defaultsettings));
출력 :
[...]
</location>
</locations>
</CsSettings>
Size: 23
C 언어에 대한 신용은 좋지 않지만 일반적으로 좋지 않은 코드입니다. 파일을 사용하십시오. –