|
|
1
4
出于日志记录的目的,为什么要使用流? 为什么不使用文本文件?这里是一个 非常 我的一个日志记录例程的简单示例。
实际上,我有一个相当广泛的日志记录单元,它使用关键部分来保证线程安全,还可以选择通过outputdebugtring命令用于内部日志记录,以及通过使用部分标识符来记录指定的代码部分。 如果有人感兴趣,我很乐意在这里分享代码单元。 |
|
|
2
2
字符和字符串从d2009开始就很宽。因此,您应该使用createfile而不是createfilea! 如果是字符串,则应使用长度*sizeof(char)作为字节长度,而不仅仅是长度。因为宽字符问题。如果要编写ansi字符,则应将s定义为ansistring或utf8string,并使用sizeof(ansichar)作为乘数。 为什么要使用windows api函数而不是classes.pas中定义的tfilestream? |
|
3
1
试试我为你准备的这个小功能。
此外,请尝试此utf8版本:
|
|
|
4
1
如果您试图在多线程应用程序中使用文本文件或对象pascal类型化/非类型化文件,那么您将度过一段糟糕的时光。 不开玩笑-Pascal标准文件I/O使用 全局变量 设置文件模式和共享。如果应用程序运行在多个 线 (或) 纤维 如果仍有人使用它们)使用标准文件操作可能导致访问冲突和不可预测的行为。 由于日志记录的主要目的之一是调试多线程应用程序,请考虑使用文件I/O的其他方法:流和Windows API。 (是的,我知道这不是对最初问题的回答,但我不想登录-因此我没有声誉评分来评论Ryan J.Mills的错误答案。) |
|
|
user23819755 · 从文件加载的数据未按正确顺序返回 1 年前 |
|
|
Grekys · C数组元素全部变为相同值 1 年前 |
|
|
Deba · 为什么在cin语句中打印空格时,第0个字符没有打印出来? 2 年前 |
|
|
catodd · C-试图将整数和结构数组存储到二进制文件中 2 年前 |
|
|
heapyams · Java可执行文件无法读取资源文件夹[重复] 2 年前 |
|
|
Community wiki · 在文件中插入值 2 年前 |