2016-05-13 59 views
0

问题出在这里:我在Code :: Blocks(C编程)上为一个学校项目制作了一个Snake版本,并且我试图在单个代码中执行同时操作。长话短说,我想播放一首歌曲(“许多连续的哔哔声”),而用户在给定菜单上选择他的选项。问题是程序必须等到歌曲完成才能扫描给定的变量,就像在下面的代码中一样。与其他命令并行使用“嘟嘟声功能”?

int main() 
{ 
    song(); 

    scanf(" %c",&option); 

    printf("%c", option); 

    return 0; 
} 

任何建议会更受欢迎。谢谢。

+0

一个明显的选择是使用单独的进程或线程来播放歌曲。 – kaylum

+0

线程是一个非常特定于操作系统的东西,所以如果不知道你正在使用哪个操作系统,我们就无法回答。另外,可能很高兴知道你正在使用什么库来处理'song()'等东西。 –

回答

-1

我建议你使用不同的线程为你想同时进行的两个过程。

看看this有关线程和叉子的问题。

希望这有助于:)

编辑:

正如@Barmar指出需要在第一个链接仔细看看关于threads(你的问题比较有用),在那里你将需要运行一个用于同时需要的每个任务(即蜂鸣和用户输入)。

分叉将是有用的,例如,如果您需要复制您的游戏过程以获得它们的多个实例。鉴于你问的问题,线程是要走的路。

+1

Fork创建进程,而不是线程。你链接的问题说使用'pthread_create()'创建线程。 – Barmar

+0

我链接到几个问题。另外两个给予叉子更多的参考。正如所指出的,第一个是关于线程的讨论。 – DarkCygnus

+1

但他根本不需要使用'fork()'。线程应该适合他的需求。 – Barmar