用于存储文件中字符索引的典型类型是什么?我目前使用long unsigned int
,但这有意义吗?我应该用std::size_t
来代替吗,还是这样做更没意义?文件索引
文件索引
回答
正如Mike Seymor所说,如果您使用C++ io流,则std :: streampos是表示文件位置的标准类型。见
http://www.cplusplus.com/reference/iostream/streampos/
注意,标准::为size_t可能不正确。例如,在32位系统上,std :: size_t将是一个32位无符号整数,而系统可能支持大于2^32字节= 4 GB的文件。
FWIW,在POSIX世界中,有一个(带符号)整数类型off_t,用于表示文件大小和偏移量。使用各种宏(例如Linux上的_FILE_OFFSET_BITS = 64),可以将off_t重新定义为64位类型。
如果你在谈论ASCII字符,他们不会有127以上的值。因此,使用unsigned char数据类型就足够了。
我不是在谈论ASCII字符;我正在谈论任何特定角色在文件中的位置。 – Maxpm 2011-03-28 13:36:31
你可能安全与两者;基本上你想能够存储max_file_size的值;
一个文件的字节大小被定义为一个长的结构stat;在64位平台上,size_t可能总是被定义为64位数字,在32位数字上被定义为32位数字等;除非你使用奇怪的编译器。
我会去长。 std :: size是语言特定的,我倾向于在这里使用特定于操作的类型。但我再次看到使用std :: size_t也没有问题
std::streampos
是表示字符流(包括文件)中位置的标准类型。
你想不想也代表“无效索引”?如果是这样,为什么不只是使用ssize_t
。
- 1. lucene文件索引
- 2. 索引文档文件
- 3. 击:复制索引文件,保存文件索引
- 4. 文件夹中的文件索引
- 5. 索引文件夹中的文件
- 6. Solr不索引blob文件
- 7. db索引文件执行
- 8. SOLRJ和索引文件
- 9. Solr:索引fb2文件
- 10. lucene如何索引文件?
- 11. 文件系统索引
- 12. 线性索引文件
- 13. 文件索引器实现
- 14. Laravel缺失索引文件
- 15. 索引属性文件
- 16. Apache Solr - 索引PDF文件
- 17. Canonical,SiteMap和索引文件?
- 18. 索引的平面文件
- 19. 未定义索引:文件
- 20. 文件不被索引
- 21. 源文件索引[apache]
- 22. 列表从文件索引
- 23. 更新Zend的索引文件搜索Lucene索引
- 24. 从索尔索引删除文件 - 索引不触及
- 25. 如何索引和搜索.doc文件
- 26. Azure的搜索索引文件,清除
- 27. 文件夹中的Java搜索索引
- 28. Lucene:搜索时加载索引文件?
- 29. “Elasticsearch”搜索文件索引刷新
- 30. Drupal 7索引pdf文件搜索
什么是一个字符的索引? – 2011-03-28 12:23:28
@Gunner第n个字符。所以如果我有一个带有字母的文件,'G'的索引是6. – Maxpm 2011-03-28 12:24:49