Site Overlay

创建空文件之后为什么要写入一个 0x0

Pluvet Margatroid 2019/6/21 16:13:44
能请教个问题吗

Pluvet Margatroid 2019/6/21 16:13:55
![2019-06-21T15:26:17.png][1]

Pluvet Margatroid 2019/6/21 16:14:14
请问为什么创建一个空文件之后,要写入一个空字符 0x0

林的向往 2019/6/21 20:41:23
不好意思,现在才看到

林的向往 2019/6/21 20:42:17
这个应该是创建一个文件之后,然后使用lseek来扩大这个文件

林的向往 2019/6/21 20:43:20
然后在最后一个字符处着写入一个空字符

林的向往 2019/6/21 20:45:31
好像使用这个**lseek函数来扩展文件大小,是要求在最后一次执行一次写操作的**

Pluvet Margatroid 2019/6/21 20:45:41
相当于创建文件之后

林的向往 2019/6/21 20:45:47
所以就写了一个空字符

Pluvet Margatroid 2019/6/21 20:45:48
把EOF推到后面吗

林的向往 2019/6/21 20:46:39
应该只是**为了这个文件扩大能够成功**吧

Pluvet Margatroid 2019/6/21 20:47:18
这个空字符就是
Pluvet Margatroid 2019/6/21 16:13:44
能请教个问题吗
Pluvet Margatroid 2019/6/21 16:13:55
![2019-06-21T15:26:17.png][1]
Pluvet Margatroid 2019/6/21 16:14:14
请问为什么创建一个空文件之后,要写入一个空字符 0x0
林的向往 2019/6/21 20:41:23
不好意思,现在才看到
林的向往 2019/6/21 20:42:17
这个应该是创建一个文件之后,然后使用lseek来扩大这个文件
林的向往 2019/6/21 20:43:20
然后在最后一个字符处着写入一个空字符
林的向往 2019/6/21 20:45:31
好像使用这个**lseek函数来扩展文件大小,是要求在最后一次执行一次写操作的**
Pluvet Margatroid 2019/6/21 20:45:41
相当于创建文件之后
林的向往 2019/6/21 20:45:47
所以就写了一个空字符
Pluvet Margatroid 2019/6/21 20:45:48
把EOF推到后面吗
林的向往 2019/6/21 20:46:39
应该只是**为了这个文件扩大能够成功**吧
Pluvet Margatroid 2019/6/21 20:47:18
这个空字符就是\0吗?是不是 ASC 值也是0?
林的向往 2019/6/21 20:49:36
我觉得就是**写入了一个NULL**
林的向往 2019/6/21 20:49:59
因为NULL的ascii就是0
Pluvet Margatroid 2019/6/21 20:50:15
我觉得也是,**就是刚创建文件之后,EOF还在开头**
林的向往 2019/6/21 20:50:16
NULL字符的ascii就是0
Pluvet Margatroid 2019/6/21 20:50:26
**然后写入\0之后,EOF就推到了\0之后**
Pluvet Margatroid 2019/6/21 20:50:40
**这样就实现了扩大文件**
林的向往 2019/6/21 20:52:16
应该是这样的
Pluvet Margatroid 2019/6/21 20:53:28
好的,谢谢你
# 致谢
感谢 july 的帮助。
[1]: https://www.pluvet.com/usr/uploads/2019/06/2529216625.png
吗?是不是 ASC 值也是0? 林的向往 2019/6/21 20:49:36 我觉得就是**写入了一个NULL** 林的向往 2019/6/21 20:49:59 因为NULL的ascii就是0 Pluvet Margatroid 2019/6/21 20:50:15 我觉得也是,**就是刚创建文件之后,EOF还在开头** 林的向往 2019/6/21 20:50:16 NULL字符的ascii就是0 Pluvet Margatroid 2019/6/21 20:50:26 **然后写入
Pluvet Margatroid 2019/6/21 16:13:44
能请教个问题吗
Pluvet Margatroid 2019/6/21 16:13:55
![2019-06-21T15:26:17.png][1]
Pluvet Margatroid 2019/6/21 16:14:14
请问为什么创建一个空文件之后,要写入一个空字符 0x0
林的向往 2019/6/21 20:41:23
不好意思,现在才看到
林的向往 2019/6/21 20:42:17
这个应该是创建一个文件之后,然后使用lseek来扩大这个文件
林的向往 2019/6/21 20:43:20
然后在最后一个字符处着写入一个空字符
林的向往 2019/6/21 20:45:31
好像使用这个**lseek函数来扩展文件大小,是要求在最后一次执行一次写操作的**
Pluvet Margatroid 2019/6/21 20:45:41
相当于创建文件之后
林的向往 2019/6/21 20:45:47
所以就写了一个空字符
Pluvet Margatroid 2019/6/21 20:45:48
把EOF推到后面吗
林的向往 2019/6/21 20:46:39
应该只是**为了这个文件扩大能够成功**吧
Pluvet Margatroid 2019/6/21 20:47:18
这个空字符就是\0吗?是不是 ASC 值也是0?
林的向往 2019/6/21 20:49:36
我觉得就是**写入了一个NULL**
林的向往 2019/6/21 20:49:59
因为NULL的ascii就是0
Pluvet Margatroid 2019/6/21 20:50:15
我觉得也是,**就是刚创建文件之后,EOF还在开头**
林的向往 2019/6/21 20:50:16
NULL字符的ascii就是0
Pluvet Margatroid 2019/6/21 20:50:26
**然后写入\0之后,EOF就推到了\0之后**
Pluvet Margatroid 2019/6/21 20:50:40
**这样就实现了扩大文件**
林的向往 2019/6/21 20:52:16
应该是这样的
Pluvet Margatroid 2019/6/21 20:53:28
好的,谢谢你
# 致谢
感谢 july 的帮助。
[1]: https://www.pluvet.com/usr/uploads/2019/06/2529216625.png
之后,EOF就推到了
Pluvet Margatroid 2019/6/21 16:13:44
能请教个问题吗
Pluvet Margatroid 2019/6/21 16:13:55
![2019-06-21T15:26:17.png][1]
Pluvet Margatroid 2019/6/21 16:14:14
请问为什么创建一个空文件之后,要写入一个空字符 0x0
林的向往 2019/6/21 20:41:23
不好意思,现在才看到
林的向往 2019/6/21 20:42:17
这个应该是创建一个文件之后,然后使用lseek来扩大这个文件
林的向往 2019/6/21 20:43:20
然后在最后一个字符处着写入一个空字符
林的向往 2019/6/21 20:45:31
好像使用这个**lseek函数来扩展文件大小,是要求在最后一次执行一次写操作的**
Pluvet Margatroid 2019/6/21 20:45:41
相当于创建文件之后
林的向往 2019/6/21 20:45:47
所以就写了一个空字符
Pluvet Margatroid 2019/6/21 20:45:48
把EOF推到后面吗
林的向往 2019/6/21 20:46:39
应该只是**为了这个文件扩大能够成功**吧
Pluvet Margatroid 2019/6/21 20:47:18
这个空字符就是\0吗?是不是 ASC 值也是0?
林的向往 2019/6/21 20:49:36
我觉得就是**写入了一个NULL**
林的向往 2019/6/21 20:49:59
因为NULL的ascii就是0
Pluvet Margatroid 2019/6/21 20:50:15
我觉得也是,**就是刚创建文件之后,EOF还在开头**
林的向往 2019/6/21 20:50:16
NULL字符的ascii就是0
Pluvet Margatroid 2019/6/21 20:50:26
**然后写入\0之后,EOF就推到了\0之后**
Pluvet Margatroid 2019/6/21 20:50:40
**这样就实现了扩大文件**
林的向往 2019/6/21 20:52:16
应该是这样的
Pluvet Margatroid 2019/6/21 20:53:28
好的,谢谢你
# 致谢
感谢 july 的帮助。
[1]: https://www.pluvet.com/usr/uploads/2019/06/2529216625.png
之后** Pluvet Margatroid 2019/6/21 20:50:40 **这样就实现了扩大文件** 林的向往 2019/6/21 20:52:16 应该是这样的 Pluvet Margatroid 2019/6/21 20:53:28 好的,谢谢你 # 致谢 感谢 july 的帮助。 [1]: https://www.pluvet.com/usr/uploads/2019/06/2529216625.png

PS:现在看来,当时想的不对。因为写入了一个空字符串,空字符串就是 "\0".

发表评论

电子邮件地址不会被公开。 必填项已用*标注