问题描述
typedefstruct{songinfosongs[5];intfoundnum;}QUERYRESULT;typedefstruct{intid;inthits;charname[80];floatspos[5];intsposnum;}songinfo;
c#中怎么定义呢?
解决方案
解决方案二:
c中方法声明intAQ2_FPQuery_File(char*QueryWav,QUERYRESULT*queryResult)
在c#中怎么声明?
解决方案三:
[StructLayout(LayoutKind.Sequential,Pack=1)]publicstructQueryResult{[MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]publicSongInfo[]songs;//检索到的音频信息列表publicintfoundnum;//检索到的音频数量}[StructLayout(LayoutKind.Sequential,Pack=1)]publicstructSongInfo{publicintid;//该音频文件对应的id号publicinthits;//待检索音频与该音频对应的冲撞值[MarshalAs(UnmanagedType.ByValTStr,SizeConst=80)]publicstringname;//音频对应的文件名[MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]publicfloat[]spos;//待检索音频数据在该音频中的起始时间publicintsposnum;//待检索音频数据在音频中的位置数量}
解决方案四:
我自己搞定了哈哈
解决方案五:
引用2楼simadi的回复:
[StructLayout(LayoutKind.Sequential,Pack=1)]publicstructQueryResult{[MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]publicSongInfo[]songs;//检索到的音频信息列表publicintfoundnum;//检索到的音频数量}[StructLayout(LayoutKind.Sequential,Pack=1)]publicstructSongInfo{publicintid;//该音频文件对应的id号publicinthits;//待检索音频与该音频对应的冲撞值[MarshalAs(UnmanagedType.ByValTStr,SizeConst=80)]publicstringname;//音频对应的文件名[MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]publicfloat[]spos;//待检索音频数据在该音频中的起始时间publicintsposnum;//待检索音频数据在音频中的位置数量}
结构很少用到,补习补习
解决方案六:
癸巳〖蛇〗丁巳月壬寅日二〇一三年四月廿七|芒种双子座庚酉时
解决方案七:
学习了,顶起。
解决方案八:
添加一个字符集的修饰。