首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fwprintf正在打印垃圾

fwprintf正在打印垃圾
EN

Stack Overflow用户
提问于 2014-02-18 02:39:15
回答 1查看 313关注 0票数 2

我有一个程序,它获取目录列表(由用户选择),并写入与该目录相关联的目录和文件列表。但是,当打印到文件时,它总是输出一个“?”然后是一个随机的角色。我的工作是维纳比,视觉c++ 2010快车。我也使用unicode (所以我使用的是宽字符)。我猜我的问题在于我使用的fwprintf函数,因为它向我的std::list添加了正确的目录/文件。这是我目前的职能:

代码语言:javascript
复制
// global list for testing
std::list<std::wstring> lDirectories;

void CleanupContents( const wchar_t *sDir )
{
  ListDirectoryContents( sDir ) // function that adds each file and directory to the std::list

  wchar_t dir[ MAX_PATH * 10 ];
  wsprintf( dir, L"%s\\ListOfFilesAndDirectories.txt", sDir );

  FILE* pFile;
  errno_t err = _wfopen_s( &pFile, dir, L"w" );

  while( !lDirectories.empty() )
  {
    fwprintf( pFile, L"%s", lDirectories.front() );
    lDirectories.pop_front();
  }

  err = fclose( pFile );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-18 02:53:20

问题就在这一行上:

代码语言:javascript
复制
fwprintf( pFile, L"%s", lDirectories.front() );

fwprintf需要一个wchar_t*,而您提供一个wstring

改为:

代码语言:javascript
复制
fwprintf( pFile, L"%s", lDirectories.front().c_str() );
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21843305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档