Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何根据文本文件的内容确定文本文件的大小_C++_Sizeof - Fatal编程技术网

C++ 如何根据文本文件的内容确定文本文件的大小

C++ 如何根据文本文件的内容确定文本文件的大小,c++,sizeof,C++,Sizeof,假设文本文件包含以下文本: 1.11111111 2.22222222 3.33333333 4.44444444 5.55555555 文件的大小是多少?我们如何确定呢 假设:[5*(每行10个字符对应10个字节)+每个字符串末尾5个空指针]=55个字节 但是windows给我额外显示了3个字节,总共58个字节。3个字节从哪里来 编辑: 空指针占用零字节。所以,我们有8个额外的字节 更多编辑: 经过一些实验后,每次按ENTER键都会创建2个字节。这就是8个字节的来源——按4次ENTER键。这

假设文本文件包含以下文本:

1.11111111
2.22222222
3.33333333
4.44444444
5.55555555
文件的大小是多少?我们如何确定呢

假设:[5*(每行10个字符对应10个字节)+每个字符串末尾5个空指针]=55个字节

但是windows给我额外显示了3个字节,总共58个字节。3个字节从哪里来

编辑: 空指针占用零字节。所以,我们有8个额外的字节

更多编辑:
经过一些实验后,每次按ENTER键都会创建2个字节。这就是8个字节的来源——按4次ENTER键。这些字节在编程术语中被称为什么?

\n
\r
在每行末尾,除了最后一个字节分别取1个字节。

\n
\r
在每行末尾,除了最后一个字节分别取1个字节。

在十六进制编辑器中打开它?我的猜测是文件中的
\n
和/或间接线没有空终止符,只有字符串有空终止符。另一个你看不到的额外字节的原因是BOM表。行不以“空指针”结尾,“空指针”不需要零字节来存储…@bames53,特洛伊:你说得对。sizeof('\0')显示1个字节。我以为每一行都会被视为一个字符串,因此以空指针结尾。在十六进制编辑器中打开它?我的猜测是文件中的
\n
和/或间接线没有空终止符,只有字符串有空终止符。另一个你看不到的额外字节的原因是BOM表。行不以“空指针”结尾,“空指针”不需要零字节来存储…@bames53,特洛伊:你说得对。sizeof('\0')显示1个字节。我认为每一行将被视为一个字符串,因此以空指针结尾。因此,在每一行的末尾,我们有一个\n(1字节)和\r(1字节),总共2个字节,除了最后一个?是的。顺便说一句,在linux中,我们只有
\n
,所以我敢打赌你有windows:)你可以在@user1478983上阅读控制字符是的,在windows上,CRLF通常用于结束行(回车后接换行符,或
'\r'
后接
'\n'
)。大多数其他平台只使用换行符。因此在每行的末尾我们有一个\n(1字节)和\r(1字节),总共2个字节,除了最后一个?是的。顺便说一句,在linux中,我们只有
\n
,所以我敢打赌你有windows:)你可以在@user1478983上阅读控制字符是的,在windows上,CRLF通常用于结束行(回车后接换行符,或
'\r'
后接
'\n'
)。大多数其他平台只使用换行符。