小编Aut*_*act的帖子

制作指向两个字节的指针

除了可能呼吸,我是一个完整的新手,所以对不起,如果我不清楚,但这里是:

我在C中有一个函数,它通过I2C总线将字节写入电路,在头文件中它看起来像这样:

BOOL WINAPI JidaI2CWrite(HJIDA hJida, DWORD dwType, BYTE bAddr, LPBYTE pBytes, DWORD dwLen);
Run Code Online (Sandbox Code Playgroud)
  • hJida:董事会处理.
  • dwType:I2C总线的从零开始的数字.
  • bAddr:I2C总线上器件的地址,写入总线时的全部8位.
  • pBytes:指向包含字节的位置的指针.
  • dwLen:要写入的字节数.

如果我只想将一个字节写入地址为0x98的电路,我会这样做:

unsigned char writing[1];
writing[0]=0x10;

unsigned char *pointer;
pointer = &writing[0];


JidaI2CWrite(hJida,0,0x98,pointer,1);
Run Code Online (Sandbox Code Playgroud)

这似乎工作,但如果我想写两个字节,比如0x10FF,它不会.那么如何制作一个指向两个字节而不是一个字节的指针呢?

谢谢

c pointers i2c

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

为什么num :: One需要迭代一个范围?

为什么以下带有char范围的循环无法编译?

fn main() {
    for c in 'a'..'z' {
        println!("{}", c);
    }
}
Run Code Online (Sandbox Code Playgroud)

错误...

main.rs:11:5: 14:2 error: the trait `core::num::One` is not implemented for the type `char` [E0277]
main.rs:11     for c in 'a'..'z' {
main.rs:12         println!("{}", c);
main.rs:13     }
main.rs:14 }
main.rs:11:5: 14:2 error: the trait `core::iter::Step` is not implemented for the type `char` [E0277]
main.rs:11     for c in 'a'..'z' {
main.rs:12         println!("{}", c);
main.rs:13     }
main.rs:14 }
Run Code Online (Sandbox Code Playgroud)

为什么你甚至需要core::num::One迭代一个范围?

rust

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

在二进制流上实现ReadLine()的最有效方法是什么?

如果我在任何时候错了,请随时纠正我...

我试图使用.NET文件I/O类读取CSV(逗号分隔值)文件.现在的问题是,这个CSV文件可能包含一些带有软回车的字段(即单独的\ r或\n标记,而不是文本文件中用于结束一行的标准\ r \n)以及某些字段和标准文本模式I/O类StreamReader不遵循标准约定,并将软回车视为硬回车,从而危及CSV文件的完整性.

现在使用BinaryReader类似乎是唯一的选择,但BinaryReader没有ReadLine()函数,因此需要自己实现ReadLine().

我当前的方法一次从流中读取一个字符并填充StringBuilder,直到获得\ r \n(忽略所有其他字符,包括solitary\r或\n),然后返回StringBuilder的字符串表示形式(使用ToString( )).

但我想知道:这是实现ReadLine()函数最有效的方法吗?请赐教.

.net c# vb.net

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

IEnumerable背后的理由是什么?

为什么你认为微软希望我们通过IEnumerable来获取IEnumerator?IEnumerator是否存在对某个给定类型的有效强制转换,以确定该类型是否可枚举?

例如,以下是错误的?

class MyClass : IEnumerator
{
    ...
}

MyClass myObj = new MyClass();

if(myObj as IEnumerator != null)
{
    Console.WriteLine("myObj is enumerable");
}
else
{
    Console.WriteLine("myObj doesn't support enumeration");
}
Run Code Online (Sandbox Code Playgroud)

.net c#

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

标签 统计

.net ×2

c# ×2

c ×1

i2c ×1

pointers ×1

rust ×1

vb.net ×1