gpt4 book ai didi

C# 等效于 C++ ostream::tellp 用于磁盘上的大小限制

转载 作者:行者123 更新时间:2023-11-30 04:22:44 25 4
gpt4 key购买 nike

是否有与 C++ ostream::tellp 的 StreamWriter 等效的 C#?我正在将一些旧的 C++ 代码移植到 C#,但客户仍然想继续使用软盘(阅读:旧设备),所以我需要找到一种方法来找到文件指针位置或找到我写入了多少磁盘已经。

下面是我目前创建的方法:

 private bool isDisketteBoundary(ref StreamWriter swOutput, int nCurrentDisketteNo) {
// Get current file pointer position
// long filePosition = nOStream.tellp(); <-- C++ code
long filePosition = 0; // <-- needs to change to find file pointer position

// Valid?
if(filePosition != -1) {
// Is the new size over a boundary?
float numDiskettes = (float)((float)filePosition / (float)Constants.DisketteSize);
int disketteCount = Convert.ToInt32(Math.Ceiling(numDiskettes));

// Is the diskette count larger than the current index?
return (nCurrentDisketteNo < disketteCount) ? true : false;
}
else {
throw new Exception("Unable to get file pointer from StreamWriter");
}
}

最佳答案

我觉得你在找

swOutput.BaseStream.Position

参见 MSDN:http://msdn.microsoft.com/en-us/library/system.io.stream.position.aspx .

关于C# 等效于 C++ ostream::tellp 用于磁盘上的大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com