小编Vis*_*iva的帖子

提升/输出到文件

我可以仅使用boost库将一些文本输出到文件中吗?

我的代码(官方文档):

#include <ostream>
#include <boost/iostreams/device/file.hpp>
#include <boost/iostreams/stream.hpp>

namespace io = boost::iostreams;

int main()
{
    io::stream_buffer<io::file_sink> buf("log.txt");
    std::ostream                     out(&buf);
    // out writes to log.txt
    out << "abc";
}
Run Code Online (Sandbox Code Playgroud)

还有另外一种方法吗?(我不想使用标准流).提前致谢.

c++ file-io boost stream

2
推荐指数
1
解决办法
1万
查看次数

在c ++中使用__asm将short类型的变量移动到EAX中(VS 2010)

在c ++(Visual Studio 2010)中使用asm插入时,当我尝试将类型为short的16位变量移动到32位EAX寄存器时,出现"不兼容类型"错误.但是,如果我使用16位AX寄存器,一切正常.这个错误背后的逻辑是什么?谢谢!

#include <iostream>

int main()
{
   short sVar;

   std::cout << "sVar=";
   std::cin >> sVar;

   __asm
   {
      MOV AX, sVar;
      SHL AX, 1;
      MOV sVar, AX;
   }
   std::cout << sVar << "\n";

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ assembly visual-studio-2010

1
推荐指数
1
解决办法
448
查看次数

随机数发生器相关问题

所以这是代码:

if(rand_s(&number) != 0) cout << "Random number generator failed!" << endl;
Run Code Online (Sandbox Code Playgroud)

问题是 - 是否意味着每次使用此rand_s(&number)表达式生成的随机数大于零时,程序都会输出失败消息?如果是这样,我为什么要这样的东西呢?

// complete code

unsigned int number = 0;

cout << "Random values are:" << endl;
double max = 1000000.0;

for(int i = 0 ; i<100 ; i++)
{
   if(rand_s(&number) != 0)
   cout << "Random number generator failed!" << endl;

   number = static_cast<unsigned int>(static_cast<double>(number)/UINT_MAX*max)+1;

   // output
   cout << setw(12) << number;
   if((i+1) % 5 == 0) cout << endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ random

0
推荐指数
1
解决办法
219
查看次数

RGB到BGR C++宏的说明

#define RGB2BGR(a_ulColor) (a_ulColor & 0xFF000000) | ((a_ulColor & 0xFF0000) >> 16) | (a_ulColor & 0x00FF00) | ((a_ulColor & 0x0000FF) << 16)
Run Code Online (Sandbox Code Playgroud)

你能告诉我这个宏的含义吗?

c++ macros

-1
推荐指数
1
解决办法
4188
查看次数

标签 统计

c++ ×4

assembly ×1

boost ×1

file-io ×1

macros ×1

random ×1

stream ×1

visual-studio-2010 ×1