C++ 是否可以同时使用两个程序从文本文件中写入和读取

C++ 是否可以同时使用两个程序从文本文件中写入和读取,c++,c,file,file-writing,C++,C,File,File Writing,如果我在c或c++中有一个程序写入一个特定的文本文件,并且有一个程序从同一个文本文件读取数据,那么我是否可以同时使用这两个程序,以便在第一个程序将新数据写入文本文件时,另一个程序可以读取并检测更改 任何帮助都将不胜感激。写入文件: if(fp) { // fp -> handle to the file fputs("Satya Pawan Kartik", fp); fclose(fp); } 从文件中读取: for(;;) { // fp ->

如果我在c或c++中有一个程序写入一个特定的文本文件,并且有一个程序从同一个文本文件读取数据,那么我是否可以同时使用这两个程序,以便在第一个程序将新数据写入文本文件时,另一个程序可以读取并检测更改

任何帮助都将不胜感激。

写入文件:

if(fp)
{
    // fp -> handle to the file
    fputs("Satya Pawan Kartik", fp);
    fclose(fp);
}
从文件中读取:

for(;;)
{
    // fp -> handle to the file
    while(fgets(line, sizeof line, fp))
    {
        printf("%s\n", line);
    }
}
假设写入文本文件的程序称为
write
,读取文件的程序称为
read

read
显然永远运行。执行
write
显示它通过
read
对文本文件所做的更改。如果需要,
write
可以修改为永远运行,并通过循环计数器的
显示它写入的行。同样的更改将在
read
中明显可见


因此,可以同时使用两个程序进行写入和读取

使用管道而不是文件进行进程间通信,这就是为什么您可以在多个文本编辑器中同时打开一个文本文件的原因。@someone\u smiley:不,不是。这不是文本编辑器的工作方式。同时,也不是真的,但您可以锁定文件(或其部分),然后在另一个程序中等待,直到释放锁,然后读取它。看一看Windows和C++的例子。是的,这是可能的。这也很难做到可靠,因为在这两个进程以及文件数据和元数据中的各种缓存效果都会使检测新写入的数据变得困难。阅读此内容并搜索“写后读”。