일부러 상수의 값을 변경시키는 이상한 상황을 만들어서 결과를 확인해보자 아래와 같이 작성했습니다.
a가 테스트함수 실행 후 메인함수에서도 50으로 변경됬을 것으로 예상했는데 그대로네요.
이상한건 중단점을 이용해 확인할 때는 a값이 50으로 변경되있는데 출력할 때는 값이 그대로란거에요
왜 그런지 알 수 있을까요?
#include <iostream>
void Test(int* a)
{
*a = 50;
std::cout << *a << std::endl;
}
int main()
{
const int a = 10;
Test((int*)&a);
std::cout << a << std::endl;
system("PAUSE");
return 0;
}
구글링 해봐도 dirent.h 쓰는게 많더군요... ㅠㅠ 리눅스에서만 사용 가능한거 같아 찻아보다가 한 티스토리 블로그(http://sks3297.tistory.com/82)에서 다음과 같은 코드를 찻았는데
___________________________________________________________________________________________________________
안녕하세요.
리눅스환경에서 원격에서 쉘을 뛰어서 명령어를 내릴 수 있는 프로그램을 작성중입니다.
dup2를 이용해서 표준 입출력을 소켓으로 바꿔놓고 원격에서 명령어를 내리고 결과를 원격에서 받는것을 목적으로 삼고있습니다.현재 상황은 몇가지 명령어는 구현되고있으나, login,vi 등의 명령어는 구현이 안되더군요..
무엇이 문제일까요?코드 첨부합니다.
이것때문에 몇일동안 고민중이네요..