【发布时间】:2013-06-07 20:03:10
【问题描述】:
我的结构:
struct Data{
char buffer[MAX_BUFF];
int bufferPos;
};
我如何执行函数searchFile:
searchFile(outFile, logFile, category, keyword, srcName, &dat);
在函数searchFile 中,我想做类似fflush(dat->buffer) 的事情。不幸的是,这给了我一个错误。我也试过str(dat->buffer, "") 和dat->buffer[0] = '\0',但这似乎并没有清除我的字符串dat.buffer。有什么想法吗?
【问题讨论】:
-
在这种情况下,“刷新”是什么意思?是否要将零写入缓冲区(
memset或bzero)? -
我在 dat.buffer 中保存了一个字符串。我想要做的是从缓冲区中完全删除该字符串,这样当我说 printf("%s", dar.buffer) 时它什么也不会打印出来。
-
你上一个例子应该已经完成了,尽管它会留下大部分(除了第一个
char)字符串仍然存在于dat->buffer占用的内存中。
标签: c pointers buffer structure flush