내 문자열이 다이아몬드 나 임의 문자의 물음표와 같이 무의미한 기호로 인쇄되는 다른 작업으로이 문제가 발생했습니다. 문자열이 이상한 기호로 표시됩니다.
이 시간
나는이 나에게조차 말과 같은 길이없는 횡설수설을 제공char *word = "blah";
printf("word: %s", word);
할 노력하고 있어요. 나는 string.h를 포함시켰다.
내가하려는 것은 문자열을 가져 와서 한 번에 두 글자를 문자열 앞이나 뒤에 추가 한 다음 문자열의 뒷부분에서 문자를 추출하는 것입니다. 다음 방법을 사용하여 추가 :
int len = strlen(word);
word[len] = 'd';
또한 어떻게 마지막 두 문자를 추출합니까? 나는 단어의 strlen을 가져 와서 그것을 문자 배열로 바꾸고 indice에서 indice로 복사하여 그것을 추출한다고 가정하고있다. 더 좋은 방법이 있습니까? 또한 무작위 질문 : 언제 '\ 0'을 사용합니까? 이 경우에 필요합니까?
나를 도울 수있는 사람에게 감사드립니다.
횡설수조가 나오는 코드를 게시하십시오. 추가하는 것과 관련하여 사용중인 char 배열에 충분한 공간이 할당되어 있지 않으면 [len]이라는 단어를 말할 수 없습니다. 당신이 char * word = "hello"라고 말하면; 편지를 추가하려고하면 ... 나쁜 생각입니다! –
참고로, 'word'가 가리키는 문자열 리터럴 인 'blah'는 읽기 전용 위치에 있으며 수정할 수 없습니다.사실, 그것은 - const char * word = "blah"; – Mahesh
전체 코드를 보여줍니다. –