以下の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()が必要です。 –