| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2518 人关注过本帖
标题:这是一个测量文本长度的程序,但测量结果比实际上多了2个字节
取消只看楼主 加入收藏
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
结帖率:85.71%
收藏
已结贴  问题点数:7 回复次数:3 
这是一个测量文本长度的程序,但测量结果比实际上多了2个字节
#include <stdio.h>
int main()
{
    FILE*fp1,*fp2;
    long i;
    fp1=fopen("C:\\Users\\邹特强\\Desktop\\新建文件夹\\test.c\\text.exe","r");
    fseek(fp1,0L,2);
    i=ftell(fp1);
    fclose(fp1);
    printf("%ld",i);
    return 0;
}
原文件的内容是 abcdef,六个字母,没有按回车键,没有空格就6个字母,实际结是输出:8,
想请教下为什么?/

............
2017-03-12 13:25
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
收藏
得分:0 
回复 3楼 吹水佬
我设置了一个文件,在里面输入了abcdef六个字母,并以exe存储的

............
2017-03-13 23:02
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
收藏
得分:0 
回复 4楼 ehszt
其实test.c是我随便取的一个名字,.c并不代表是格式的,是有效目录

............
2017-03-13 23:03
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
收藏
得分:0 
回复 5楼 wp231957
好像不能发text文件,我把cpu数据给你看下,我看不懂
0401530 <+0>:    push   %rbp
   0x0000000000401531 <+1>:    mov    %rsp,%rbp
   0x0000000000401534 <+4>:    sub    $0x30,%rsp
   0x0000000000401538 <+8>:    callq  0x402130 <__main>
   0x000000000040153d <+13>:    lea    0x2abc(%rip),%rdx        # 0x404000
   0x0000000000401544 <+20>:    lea    0x2abd(%rip),%rcx        # 0x404008
   0x000000000040154b <+27>:    callq  0x402b48 <fopen>
   0x0000000000401550 <+32>:    mov    %rax,-0x8(%rbp)
   0x0000000000401554 <+36>:    mov    -0x8(%rbp),%rax
   0x0000000000401558 <+40>:    mov    $0x2,%r8d
   0x000000000040155e <+46>:    mov    $0x0,%edx
   0x0000000000401563 <+51>:    mov    %rax,%rcx
   0x0000000000401566 <+54>:    callq  0x402b50 <fseek>
   0x000000000040156b <+59>:    mov    -0x8(%rbp),%rax
   0x000000000040156f <+63>:    mov    %rax,%rcx
   0x0000000000401572 <+66>:    callq  0x402b58 <ftell>
   0x0000000000401577 <+71>:    mov    %eax,-0xc(%rbp)
   0x000000000040157a <+74>:    mov    -0x8(%rbp),%rax
   0x000000000040157e <+78>:    mov    %rax,%rcx
   0x0000000000401581 <+81>:    callq  0x402b60 <fclose>
   0x0000000000401586 <+86>:    mov    -0xc(%rbp),%eax
   0x0000000000401589 <+89>:    mov    %eax,%edx
   0x000000000040158b <+91>:    lea    0x2aa9(%rip),%rcx        # 0x40403b
   0x0000000000401592 <+98>:    callq  0x402b68 <printf>
   0x0000000000401597 <+103>:    mov    $0x0,%eax
=> 0x000000000040159c <+108>:    add    $0x30,%rsp
   0x00000000004015a0 <+112>:    pop    %rbp
   0x00000000004015a1 <+113>:    retq   
不知道有没有用

............
2017-03-13 23:10
快速回复:这是一个测量文本长度的程序,但测量结果比实际上多了2个字节
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059840 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved