标签: offset

从其成员子对象的地址计算对象的地址

我遇到以下情况:

//This is Public
class B{/*usefull stuff*/};
B*f();
void g(B*b)();

//Those classes are only declared the translation unit of f and g.
class Whatever1{/*Implementation details only useful to f and g*/};
class Whatever2{/*Implementation details only useful to f and g*/};
class A{
public:
    Whatever1 w1;
    Whatever2 w2;
    B b;
};
Run Code Online (Sandbox Code Playgroud)

在函数g中,我想将参数(指向B的指针)转换为指向A的指针.

B实例始终包含在A实例中.

我最终得到了这个:

ptrdiff_t lag(){
    A a;
    return (char*)&a.b-(char*)&a;}

void g(B*b){
    A*a=(A*)((char*)b-lag());
    //Work with a
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案让我非常不舒服.

这样的偏移计算是100%正确和便携吗?

它是否以任何方式触发未定义的行为?

编辑:std :: is_standard_layout <A> ::值为1.

c++ offset undefined-behavior language-lawyer c++11

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

确定元素相对于其偏移父元素的定位祖先的位置

我想确定#target的偏移相对于#a下面的HTML文档中-即,我想找到的价值观xy

http://dl.dropbox.com/u/2792776/screenshots/2012-06-09_1814.png

jQuery 有position(),但$("#target").position()返回#target相对于其父偏移量的偏移量,即#c(不是#a

我需要一个等价于的函数,$.fn.position()而是返回相对于目标的“偏移祖先”的位置,而不是它的直接偏移父级。例如:$("#target").positionRelativeTo("#a")

jquery dom position offset

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

如何使用 ViewPager 和 Page Margin 正确处理设备旋转

我正在使用 viewpager 来显示文件夹的内容。在页面之间我有 96 像素的页边距。为了处理配置更改,我在 AndroidManifest.xml 中添加了以下几行:

 <activity
        android:name="SimpleFilePreviewerActivity"
        android:configChanges="keyboardHidden|orientation|screenSize" >
 </activity>
Run Code Online (Sandbox Code Playgroud)

从最左边的页面开始,当我旋转我的设备时,一切都会根据需要进行处理。然而,在接下来的页面上,旋转后视图不再以屏幕为中心,而是有一个偏移,当 ViewPager 向右滑动时,它会变得更糟。

当屏幕旋转后触摸屏幕时,显示的视图将重新居中。此偏移仅在页边距设置为大于 0 时发生。

这是一个已知的错误?有没有办法遇到这个偏移问题?

提前致谢,

弗洛

android margin rotation offset android-viewpager

5
推荐指数
0
解决办法
687
查看次数

如何将元素移动到固定标题的正下方

我正在尝试将每个移动<li>到屏幕顶部onClick(),并且使用它可以正常工作,scrollIntoView();但是因为我的标题是固定的,所以一小部分内容<li>位于标题下方。如何滚动<li>到标题正下方。

HTML

    <header></header>
<div id="wrapper">
   <ul>
       <li id='li1' onClick="moveup(1)"> blah blah blah blah blah <br/>
           blah blah blah blah blah <br/>
           blah blah blah blah blah <br/>
           blah blah blah blah blah <br/>
           blah blah blah blah blah <br/>
       </li>
         <li id='li2' onClick='moveUp(2)'> blah blah blah blah blah <br/>
           blah blah blah blah blah <br/>
           blah blah blah blah blah <br/>
           blah blah blah blah blah <br/>
           blah blah blah …
Run Code Online (Sandbox Code Playgroud)

javascript viewport offset scrolltop

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

在 C 中一次读取 16 个字节的文件

我正在尝试读取从命令行参数解析的文件,每次 16 个字节。我将字节存储在一个无符号字符数组中。然后,我尝试以 HEX 格式打印元素,然后,如果它们是可打印字符,则打印它们,如果不是,则打印一个点“。” 我还想在每个新行上打印文件开头的字节偏移量,但我想在开始处理之前让其余部分工作。我遇到的问题是我正在读取的文件没有打印,所以我认为我做得不对。我开始使用,fread()但我想我可能需要使用,fseek()但我不确定。如果有人能指出我正确的方向或告诉我我是否做错了什么,我将不胜感激。

代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    FILE *fp;

    int i, j;

    unsigned char buffer[17];

    fp = fopen(argv[1], "r");

    while(!feof(fp))
    {
        while(fread(buffer, 16, 1, fp) !=0)
        {

            for(i=0; i < 16; i++)
            {
                printf("%X ", buffer[i]);
            }

            for(j = 0; j < 16; j++)
            {
                if(isprint(buffer[j]))
                    printf("%s", buffer[j]);
                else
                    printf("." );
            }

            printf("\n");
        }
    }

    fclose(fp);

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

预期输出:

0001:  40 4F 28 …
Run Code Online (Sandbox Code Playgroud)

c hex file offset

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

如何不在行上而是在行组上使用 OFFSET/FETCH?

如果我有一个如下的一对多表:

FamilyId          UserId
1                 1
1                 2
2                 3
2                 4
3                 5
Run Code Online (Sandbox Code Playgroud)

我可以offset/fetch用来获取一组行。但是我怎样才能用它来获得一组家庭呢?我怎样才能fetch例如,前两个家庭使用(在这种情况下,共4行返回)offset/fetch

sql-server grouping fetch offset

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

SplFileObject + LimitIterator + 偏移量

我有两行的数据文件(两行仅用于我的示例,实际上,该文件可以包含数百万行)并且我使用带有偏移量的 SplFileObject 和 LimitIterator。但是这种组合在某些情况下有奇怪的行为:

$offset = 0;
$file = new \SplFileObject($filePath);
$fileIterator = new \LimitIterator($file, $offset, 100);
foreach ($fileIterator as $key => $line) {
  echo $key;
}
Run Code Online (Sandbox Code Playgroud)

输出为:01

但是将$offset设置为1,输出为空(foreach 不迭代任何行)。

我的数据文件包含这个:

{"generatedAt":1434665322,"numRecords":"1}
{"id":"215255","code":"NB000110"}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

谢谢

php offset splfileobject

5
推荐指数
0
解决办法
869
查看次数

SVG文本锚左上

默认情况下,SVG中text元素的锚点位于左下角,但我希望它位于左上角,因为我还创建了一个矩形作为文本的背景,但是由于显示不正确,文本高于矩形(因为矩形的锚点/偏移量位于左上方)。有没有办法解决此问题,因此可以在相同的坐标处绘制文本和矩形,并在相同的位置显示它们。

anchor svg text offset

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

为什么 resourceReader.GetResourceData 返回偏移 4 的“ResourceTypeCode.Stream”类型的数据

在我的函数 GetAssemblyResourceStream(下面的代码)中,我使用“assembly.GetManifestResourceStream”和“resourceReader.GetResourceData”从 Dll 读取资源。

当我从资源的字节数组设置内存流时,我必须包含 4 个字节的偏移量:

const int OFFSET = 4;
resStream = new MemoryStream(data, OFFSET, data.Length - OFFSET);
Run Code Online (Sandbox Code Playgroud)

那个偏移的原因是什么?它来自哪里?

参考:MSDN ResourceReader 类末尾的示例

另外:我制作了一个测试应用程序来更好地理解资源。该应用程序显示了我在偏移量方面的问题。我的小测试应用程序可在Github (VS 2015)

更新 2015-10-05 10h28由于答案非常低,我怀疑存在错误和/或未记录的行为。我在Connect.Microsoft.com 上报告了一个错误,并将看到结果。

2015-10-07 更新我删除了错误。我仍然认为它没有得到很好的记录和/或可以被视为一个错误,但我非常怀疑他们会在不做任何事情的情况下关闭我的请求。我希望没有人会遇到和我一样的问题。

代码:

   // ******************************************************************
    /// <summary>
    /// The path separator is '/'.  The path should not start with '/'.
    /// </summary>
    /// <param name="asm"></param>
    /// <param name="path"></param>
    /// <returns></returns>
    public static Stream GetAssemblyResourceStream(Assembly asm, string path)
    {
        // Just to be …
Run Code Online (Sandbox Code Playgroud)

c# resources stream character-encoding offset

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

尝试在 Selenium 中拖动/移动元素时如何找出 x 和 y 偏移量?

我在用

builder.moveToElement(element).moveByOffset(x,y).click().build().perform(); 
Run Code Online (Sandbox Code Playgroud)

在上面的函数中,我不确定 X 和 Y 的值,因此我必须多次运行测试才能找出 X 和 Y 的正确值。

示例:首先我会尝试使用 5、5,然后如果我看到它比 5、10 等更靠右一点。

他们有办法一次性找到它吗?

selenium offset selenium-webdriver

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