一段VS2005下的代码,求移植

stilling2006 2010-03-11 05:41:33
代码如下,希望高手能移植到QT下来,或写一个同样的函数也行。谢谢。



int GetString(char *pBuffer)
{
int index = 0;

/** 读入一个字节的数据 */
fread(pBuffer, 1, 1, m_FilePointer);

/** 直到结束 */
while (*(pBuffer + index++) != 0)
{
/** 读入一个字符直到NULL */
fread(pBuffer + index, 1, 1, m_FilePointer);
}

/** 返回字符串的长度 */
return strlen(pBuffer) + 1;
}
...全文
75 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
stilling2006 2010-03-11
  • 打赏
  • 举报
回复
自己解决了~代码如下:

int GetString(char * pBuffer)
{
QString a=pBuffer;
return a.size();
}

谢谢楼上的,分都给你,想再次请教一个问题,
unsigned short int a;
unsigned short int b;
b=fread(&a, 1, 2, m_File);

在QT下有没有类似代码可以和fread功能一样?因为我这的m_File是QFILE类型,不是FILE。

用QDataStream控制每次读入的可以吗?谢谢。
czg_1111111111 2010-03-11
  • 打赏
  • 举报
回复
int GetString(char * pBuffer)
{
QFile file(file_name);
file.open(QIODevice::ReadOnly);

QDataStream stream(&file);
int index = 0;
while(stream.readRawData(pBuffer + index, 1) > 0 && *(pBuffer + index) != 0)
++index;

file.close();

return strlen(pBuffer) + 1;
}

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧