#include <iostream>
using namespace std;
void newstrcpy(char* dest, const char* source) {
while (*dest++ = *source++);
}
int main() {
char* c = new char[10];
char* b = new char[10];
cout << c;
cin >> c;
newstrcpy(b, c);
cout << c << endl;
cout << b << endl;
delete[] c, b;
system("pause");
return 0;
}
라는 코드에서 질문할 게 있는데요.
1.
strcpy 함수 구현 검색중에 while (*dest++ = *source++); 이 코드 while문 조건이 false가 되는 게 대입을 실패해서 그런건가요..?
2.
그리고 strcpy 구현할 때 마지막에 \0을 붙여줘야 되나요? 붙여줘야 한단 얘기가 있길래..
3.
디버깅을 f11 누르면서 하는데, while문을 한번만 돌고 함수를 빠져나오더라구요.. 어떻게 보는 방법이 있나요? (예전에는 한글자한글자 바뀌는 걸 볼 수 있었던 것 같은데..)
4.
예전엔 system("pause"); 안써도 계속하시려면 아무 키나 누르십시오 ...가 떴었는데 지금은 안쓰면 바로 꺼지네요.
비쥬얼스튜디오 자체의 설정이 다르게 되어있어서 그런걸까요?
동적할당도 물어보려 했는데 동적할당 할 때는 length값을 입력받으니 물어볼 필요가 없었네요...
오랜만에 헷갈리던 것들, 잊은 것들 공부하려니 어렵네요..