gpt4 book ai didi

C 从文件中读入方程

转载 作者:行者123 更新时间:2023-11-30 17:18:43 24 4
gpt4 key购买 nike

 else if(choice == 'p')
{
textFilePointer = fopen("/Users/jonnymaguire/Documents/Uni Work/Audio Programming /iap/iapProj/Builds/MacOSX/build/Debug/textp15.txt", "r");

if(textFilePointer == NULL)
{
printf("!Error Opening File!");
}

while(!feof(textFilePointer))
{
float frequency;

fscanf(textFilePointer, " %d\n", &note);
printf(" %d\n\n", note);

frequency = 440 * pow(2, (note-69) /12.0);

aserveOscillator(0, frequency, 1, 0);
aserveSleep(500);

}

我的程序的这一部分从 txt 文件中读取 16 个数字,将它们添加到等式的“音符”部分中,将它们转换为音高,然后将其发送到serveOscillator,后者以设定的音高播放 16 个音符。保留 sleep 决定了每个音符播放的时间(500 毫秒),但第 16 个音符不会停止响起,我需要它在 500 毫秒后停止!

最佳答案

您应该测试文件字段是否正确读取,而不是测试feof(请参阅上面的注释)。然后您通过另一个调用关闭振荡器。

int note;
float frequency;
while(1 == fscanf(textFilePointer, " %d\n", &note)) {
printf(" %d\n\n", note);
frequency = 440 * pow(2, (note-69) /12.0);
aserveOscillator(0, frequency, 1, 0);
aserveSleep(500);
}
aserveOscillator(0, 0, 0, 0); // turn off osc

关于C 从文件中读入方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29099358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com