C 将变量放入程序不同部分的缓冲区中
我目前正在从事一个C项目,该项目要求我通过套接字连接(在同一台机器上,通过“localhost”)将变量从一个文件发送到另一个文件。因此,为了将变量从文件A发送到文件B,我将这些变量放在一个缓冲区(定义为char 1D数组)中,并发送包含不同变量的整个缓冲区。为此,我使用sprintf(缓冲区,“%f\n%f\n”,variable1,variable2)来放置文件A中的变量。要使文件B读取缓冲区,并将缓冲区中的变量与其自身的变量相关联,我需要: sscanf(缓冲区,“%f\n%f\n,&variable1,&variable2);其中variable1和variable2将在文件B中定义 然而,我想知道是否有可能通过程序中的不同实例将变量放入文件A的缓冲区。如果是这样,每次将新变量放入缓冲区,文件B是否能够以与放入文件A相同的顺序访问变量?例如,如果变量1和变量2放入A点的缓冲区,然后变量3放在B点的缓冲区中,文件B是否能够按该顺序访问这些变量 最后,如果将同名变量放在两个不同位置的缓冲区中,第二次是否会覆盖第一次?即,如果变量1放在x点的缓冲区中,然后再放在y点,第二次放在y点的变量是否会覆盖放在x点的时间C 将变量放入程序不同部分的缓冲区中,c,sockets,buffer,C,Sockets,Buffer,我目前正在从事一个C项目,该项目要求我通过套接字连接(在同一台机器上,通过“localhost”)将变量从一个文件发送到另一个文件。因此,为了将变量从文件A发送到文件B,我将这些变量放在一个缓冲区(定义为char 1D数组)中,并发送包含不同变量的整个缓冲区。为此,我使用sprintf(缓冲区,“%f\n%f\n”,variable1,variable2)来放置文件A中的变量。要使文件B读取缓冲区,并将缓冲区中的变量与其自身的变量相关联,我需要: sscanf(缓冲区,“%f\n%f\n,&va
我不确定我的问题是否足够清楚,但我希望是这样,我感谢您的帮助!看起来您可以使用标准的Unix IPC机制解决您的问题。您没有给出太多关于您想要实现的具体细节,但您似乎可以尝试以下方法:
- 创建进程共享的信号量(命名或不命名)
- 查找
sem\u open
- 查找
- 创建一个完全位于共享内存中的数据结构(可能是一个队列)
- 查找
和shm\u open
mmap
- 查找
- 队列上的所有操作都应受到信号量的保护
- 例如,
到队列中应该由add
/sem\u wait
块保护sem\u post
- 例如,