如何将ipod库音乐文件导入AVAudioPlayer?
我搜索并搜索了stackoverflow的答案,但还没找到我需要的东西.
我有一个例程,它将unsigned char数组作为参数,以便将其编码为Base64.我想在Base64中编码STL浮点向量(向量),因此需要将浮点向量中的字节重新解释为无符号字符数组,以便将其传递给编码例程.我已经尝试了很多东西,从重新解释和静态转换,到mem副本等,但它们似乎都没有工作(至少不是我实现它们的方式).
同样,在将编码数据解码回浮点数组时,我需要做相反的事情.解码例程将解码数据作为unsigned char数组提供,我将需要重新解释该字节数组,再次将其转换为浮点数.
这是我的C++代码的精简版本来进行编码:
std::string
EncodeBase64FloatVector( const vector<float>& p_vector )
{
unsigned char* sourceArray;
// SOMEHOW FILL THE sourceArray WITH THE FLOAT VECTOR DATA BITS!!
char* target;
size_t targetSize = p_vector.size() * sizeof(float);
target = new char[ targetSize ];
int result = EncodeBase64( sourceArray, floatArraySizeInUChars, target, targetSize );
string returnResult;
if( result != -1 )
{
returnResult = target;
}
delete target;
delete sourceArray;
return returnResult;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.谢谢.
雷蒙德.
当使用a QFileDialog保存文件并指定扩展名(如*.pdf)并且用户键入没有此扩展名的名称时,保存的文件也没有此扩展名.
例如,代码:
QFileDialog fileDialog(this, "Choose file to save");
fileDialog.setNameFilter("PDF-Files (*.pdf)");
fileDialog.exec();
QFile pdfFile(fileDialog.selectedFiles().first());
Run Code Online (Sandbox Code Playgroud)
现在当用户输入"foo"作为名称时,文件将保存为"foo",而不是"foo.pdf".所以QFileDialog不会自动添加扩展名.我的问题:我怎么能改变这个?
在MS Access中打开表单时,它会在表单的标题栏上显示其名称.我想隐藏我的表单的真实姓名,并在标题栏上显示一个更友好的用户名.我怎样才能做到这一点?
我正在开发POSIX C++程序的Windows端口.
问题是标准POSIX函数如accept()或bind()期望'int'作为第一个参数,而其WinSock对应物使用'SOCKET'.
当编译为32位时一切都很好,因为两者都是32位,但在Win64下SOCKET是64位,int仍然是32位,它产生了很多编译器警告,如下所示:
warning C4244: '=' : conversion from 'SOCKET' to 'int', possible loss of data
我尝试使用typedef来解决这个问题:
#ifdef _WIN32
typedef SOCKET sock_t;
#else
typedef int sock_t;
#endif
Run Code Online (Sandbox Code Playgroud)
并在适当的位置用'sock_t替换'int'.
在我到达调用OpenSSL API的代码的一部分之前,这很好.
事实证明,OpenSSL甚至在Win64上也使用了套接字.这看起来很奇怪,所以我开始寻找答案,但我发现的唯一一件事是在openssl-dev邮件列表上的一个旧帖子,它引用了一条评论e_os.h:
/*
* Even though sizeof(SOCKET) is 8, it's safe to cast it to int, because
* the value constitutes an index in per-process table of limited size
* and not a real pointer.
*/
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
将SOCKET转换为int是否真的安全?
我想看一些证明SOCKET值不能大于2 ^ 32的文档.
提前致谢!
Ryck
最近我用php + mysql做了一个很大的项目.现在我关心我的mysql.我该怎么做才能使我的mysql尽可能最佳?告诉你所知道的一切,我将非常感激.
第二个问题,我每页加载一个mysql查询,从mysql获取信息.这是一个非常大的查询,因为我通过连接从几个表中获取信息.也许我应该做点什么呢?
谢谢.
如何为具有using语句的方法编写单元测试?
例如,假设我有一个方法Foo.
public bool Foo()
{
using (IMyDisposableClass client = new MyDisposableClass())
{
return client.SomeOtherMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能测试上面的代码?
有时我选择不手动使用using语句和Dispose()对象.我希望有人会告诉我一个我可以使用的技巧.
有没有办法判断控件(特别是System.Windows.Controls.TextBox)是否集中在Silverlight中?我正在寻找类似以下内容(您将在常规.Net应用程序中看到的内容):
textBox.Focused
Run Code Online (Sandbox Code Playgroud)
这看起来像是从控件中遗漏出来的简单而微不足道的东西,但我无法在任何地方找到答案.
更新
结合Rob的答案,稍微优雅的解决方案是创建一个类似的扩展方法:
public static bool IsFocused( this Control control )
{
return FocusManager.GetFocusedElement() == control;
}
Run Code Online (Sandbox Code Playgroud) c# ×3
c++ ×3
base64 ×1
controls ×1
focus ×1
html ×1
idisposable ×1
iphone ×1
legacy-code ×1
ms-access ×1
mysql ×1
optimization ×1
php ×1
python ×1
qfiledialog ×1
qt ×1
qt4 ×1
save ×1
silverlight ×1
sockets ×1
textbox ×1
unit-testing ×1
winapi ×1