wxWidgets 正确地获取文件大小的方法?

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
ccnyou
Knows some wx things
Knows some wx things
Posts: 33
Joined: Fri Sep 28, 2012 8:08 am

wxWidgets 正确地获取文件大小的方法?

Post by ccnyou »

我尝试这样获取文件大小,我的系统是 Ubuntu 和 WinXP。在windows下这样工作良好,但是在Ubuntu下经常会报权限不足,例如:

Code: Select all

    wxFile file( wxT("/vmlinuz") );
    if( file.IsOpened() )
    {
        int length = file.Length();
        cout << length << endl;
    }
另一方面,我发现这样可以正确获取linux系统的文件大小而不会得到警告:

Code: Select all

    struct stat buf;
    stat("/vmlinuz", &buf);
    cout << buf.st_size << endl;
请问,在wxWidgets中我应该怎么做? thanks a lot!
ccnyou
Knows some wx things
Knows some wx things
Posts: 33
Joined: Fri Sep 28, 2012 8:08 am

Re: wxWidgets 正确地获取文件大小的方法?

Post by ccnyou »

google找到一个未文档的方法:

Code: Select all

	wxFileOffset fileLength = -1;
	wxStructStat strucStat;
	int statRet = wxStat( *pathStringRef , &strucStat);
	if (statRet == 0)
	{
		fileLength = strucStat.st_size;
	}
个人纠结的是,为何文档找不到呢?那么好的方法。。。
Post Reply