¿Puedo permitir que varios programas lean del mismo archivo al mismo tiempo?

Tengo una aplicación que lee un conjunto de archivos de datos y realiza algunos cálculos modelo. El programa no necesita modificar los archivos de datos en sí, por lo que actualmente los estoy abriendo con la marca de solo lectura como se muestra a continuación:

FILE* file;
if(_wfopen_s(&file, fname.c_str(), L"r") == 0)
...

Me gustaría tener varias instancias de mi programa ejecutándose al mismo tiempo, usando el mismo conjunto de datos, pero realizando diferentes cálculos en los datos. Ninguno de mis programas necesita modificar los archivos de datos. Como los archivos de datos son muy grandes, no puedo hacer copias separadas de los datos para usar con cada programa.

Asumí que debido a que estoy abriendo los archivos con permisos de solo lectura, dos programas podrían estar leyendo el mismo archivo al mismo tiempo. En su lugar, recibo varios errores a lo largo de las líneas de "el archivo no se pudo abrir porque otro proceso lo está utilizando".

Como mi entorno de desarrollo es Windows 7,Esta pregunta sugiere que podría ser una cuestión de permitir el uso compartido de lectura.. Sin embargo, todas las respuestas en ese hilo se basan enCrea un archivo, mientras que estoy tratando con el código heredado que fue escrito con stdio.h.

¿Hay alguna manera de que varios programas puedan leerse simultáneamente desde un archivo utilizando la clase de funciones fopen?

Respuestas a la pregunta(1)

Su respuesta a la pregunta