小编Gre*_*osz的帖子

整数中的每个字节如何存储在CPU /内存中?

我试过这个

char c[4];
int i=89;
memcpy(&c[0],&i,4);
cout<<(int)c[0]<<endl;
cout<<(int)c[1]<<endl;
cout<<(int)c[2]<<endl;
cout<<(int)c[3]<<endl;
Run Code Online (Sandbox Code Playgroud)

输出如下:
89
0
0
0

哪个漂亮训练我的肚子因为我认为这个数字会被保存在内存中,如0x00000059所以为什么c [0]是89?我认为它应该在c [3] ...

c++ endianness memcpy

6
推荐指数
4
解决办法
7566
查看次数

确保文件完整性的好策略

我有一些代码从Web服务器下载plist并将其存储在手机的文档目录中.我担心的是,如果文件损坏,那么它将影响应用程序的稳定性和用户体验.

我正在应用程序的数据读取部分进行防御性编码,但是想知道在旧文件被覆盖之前首先检查文件的完整性有什么建议.我正在考虑实现某种计算值,例如,它也作为plist中的键存储.

任何关于使其尽可能健壮的想法将不胜感激.

最好的祝福

戴夫

iphone md5

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

从Visual C++中播放mp3的最简单方法

几年前,我在DShow/DSound周围编写了一些util库,让我在Windows C++应用程序中播放MP3.这仍然是在C++/MFC应用程序中执行此操作的常规方法,还是已经包含在常规Windows API中的DirectX区域?

我们的动机就是使用标准的Windows PlaySound方法进行WAV,并且希望能够使用类似的简单API来播放MP3,这些API可以是Windows提供的,也可以是我们编写的用于包装更复杂功能的东西.

编辑:这是一个大型的商业闭源项目.我们只想简单地玩游戏,为图书馆付出很多钱不会飞.

audio winapi mp3 directshow mci

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

C++:字符串流提供什么好处?

任何人都可以告诉我在c ++中使用字符串流的一些实际例子,即使用流插入和流提取操作符输入和输出到字符串流?

c++ string stringstream

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

将指针从C传递到程序集

我想在我的C/C++程序中使用"_test_and_set lock"汇编语言实现和原子交换汇编指令.

class LockImpl 
{
  public:
  static void lockResource(DWORD resourceLock )
  {
    __asm 
    {
      InUseLoop:  mov     eax, 0;0=In Use
                  xchg    eax, resourceLock
                  cmp     eax, 0
                  je      InUseLoop
    }

  }

  static void unLockResource(DWORD resourceLock )
  {
    __asm 
    {
      mov resourceLock , 1 
    }   

  }
};
Run Code Online (Sandbox Code Playgroud)

这有效,但这里有一个错误.

问题是我想传递DWORD*resourceLock而不是DWORD resourceLock.

所以问题是如何将指针从C/C++传递到程序集并将其取回.?

提前致谢.

问候,-Jay.

PS这样做是为了避免用户空间和内核空间之间的上下文切换.

c c++ assembly pointers visual-studio-2008

5
推荐指数
2
解决办法
4200
查看次数

Lvalue需要作为赋值的左操作数

您好我在xcode中得到"Lvalue required as assignment operand of assignment"错误.为什么?这是我的代码(window1/2是UIViewController):

- (void)loadView
{

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,320,460)];
    UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0,0,640,460)];


    self.window1 = [TweetViewController alloc];
    self.window2 = [InfoViewController alloc];


    [contentView addSubview:self.window1.view];
    self.window2.view.frame.origin.x = 320; //HERE IS THE ERROR!!
    [contentView addSubview:self.window2.view];


    [scrollView addSubview:contentView];
    scrollView.contentSize = contentView.frame.size;


    scrollView.pagingEnabled = YES;


    self.view = scrollView;


    [contentView release];
    [scrollView release];
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

iphone properties objective-c

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

提升:Boost的MacOSX二进制文件

对于Boost,是否有任何MacOSX通用二进制文件(至少i386/ppc为> = macosx10.3)?

macos boost universal-binary

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

.c_str()奇怪吗?数据变化没有押韵或原因?

我有这个简单的功能:

const wchar_t *StringManager::GetWCharTStar(int stringId)
{
    std::wstring originalString = StringManager::GetString(stringId);
    const wchar_t *retStr = originalString.c_str();
    return retStr;
}
Run Code Online (Sandbox Code Playgroud)

在该函数的第二行,我有正确的wchar_t*.但是,当我返回时,数据切换到垃圾数据.两者之间没有任何功能.是什么赋予了?!

c++ string wchar-t wstring c-str

3
推荐指数
2
解决办法
875
查看次数

将字符串转换为int(但仅当真的是int时)

在大学时,我被问到我们的程序是否检测到从命令行参数输入的字符串是否是一个它没有(./Program 3.7)的整数.现在我想知道我怎么能发现这个.因此,例如输入a无效,其中atoi检测到,但是例如输入3.6应该是无效的但是atoi将其转换为整数.

#include <stdio.h>

int main(int argc, char *argv[]) {
    if (argc > 1) {
        int number = atoi(argv[1]);
        printf("okay\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是只有当argv [1]真的是一个整数时才应该打印出来.希望我的问题很明确.非常感谢.

c validation integer strtol

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

在画布上挥舞着文本

如何在类似于页面上的画布元素上制作挥动文本?

javascript canvas bitmap effect distortion

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