아래의 C++ 프로그램에서 스레드를 분리하려고 시도합니다. 그래도 프로세스가 종료 된 후에도 스레드는 텍스트 파일에 일부 문자를 계속 작성합니다. 문제는 내가 끝내지 못한다는 것입니다. 프로그램이 종료되면 스레드는 "file.txt"파일에 쓰는 것을 멈 춥니 다. 그가 저를 도와 주시겠습니까? 아니면 전혀 가능하지 않습니까?스레드를 영원히 분리 할 수 없습니다. C++
#include<thread>
#include<stdio.h>
using namespace std;
void printToFile()
{
FILE *file;
for (int i = 0; true; i++)
{
fopen_s(&file, "file.txt", "w");
fprintf(file, "%s%d", "n: ",i);
fclose(file);
}
return;
}
int main()
{
thread t(printToFile);
t.detach();
return 0;
}
fopen_s 종류의 그가 VS를 사용하고 있음을 나타내므로 Windows에 fork() 호출이 없으므로 그는 아마도 CreateProcess()를 원합니다. –