그래서 문자열 배열에있는 문자열에서 마지막 문자를 제거하려고했습니다. 나는 약간의 검색을했는데 해결책을 찾는 행운이 없었습니다. 나는 memcpy 또는 strcpy n-1 바이트를 구현하려고 시도했지만 해결되지 않았다. 여기 char 문자열의 배열에있는 char 문자열에서 마지막 문자를 제거하는 방법
내가 새로운 문자 배열을 만들려하고 "평균"개최가char *array[3];
array[0] = "avg:";
할 노력하고있어의 요지이다.
char *array[3];
array[0] = "avg:";
char new[sizeof(array[0])-1];
strncpy(new,array[0],sizeof(new));
나는 이런 식으로 뭔가를 할 수있을 거라고 생각
, 그러나 그것은 "@ À ‡ ¿ avg¤ã"일부 펑키 출력, 즉를 제공합니다. 어떤 도움을 주시면 감사하겠습니다.
'sizeof (배열 [0])'->'strlen (배열 [0])'입니다. 그리고 NUL은'strncpy' 뒤에'new'를 끝내야합니다. – kaylum
'char new [strlen (array [0])]; memcpy (new, array [0], sizeof (new)); 새로운 [sizeof (new) -1] = 0;' – BLUEPIXY
아, 전 올바른 방향으로 가고 있었고, strlen과 sizeof의 사용 사이에 혼란스러워했습니다. 이것은 정확히 내가 원했던 것입니다, 고마워요. – Michael