【问题标题】:how to write a char array "char *buff[]" to a FILE in c如何在c中将char数组“char *buff []”写入文件
【发布时间】:2011-06-16 11:52:21
【问题描述】:

satuation is.....我已经在缓冲区(*buff [])中存储了许多mac地址(一个接一个),现在我想一个接一个地提取MAC地址并将其写入一个单独的文件由逗号在 c 中。

帮助!!! THNXXX!!

【问题讨论】:

  • 像往常一样:你已经尝试了什么?

标签: c file file-io file-handling


【解决方案1】:

如果它们是字符串,你可以使用类似的东西:

FILE *fout = fopen ("output.txt", "w");
if (fout != NULL) {
    char *sep = "";
    for (int i = 0; i < sizeof (buff) / sizeof(*buff); i++) {
        fprintf (fout, "%s%s", sep, buff[i]);
        sep = ",";
    }
    fclose (fout);
}

如果它们不是 字符串,您可能应该更详细地指定数据。无论如何,逻辑是一样的,唯一会改变的是你输出 MAC 地址的方式。

如果数组未满,请确保使用计数变量来控制循环而不是数组大小。

【讨论】:

  • 您假设“buff”是静态分配的,即 buff 是 char* buff[10]。如果 "buff" 恰好是函数的参数,即 void func (char* buff[]);那么您的代码将无法正常工作。这在原帖中没有说清楚。此外,您正在循环内编写“i”的 C++ 声明。
  • 是的,我做了假设,由于问题中缺乏完整的细节,这是必要的——这正是我说“使用 like 的东西”的原因。但您应该知道,for 循环中的 int 不仅仅是 C++ 功能,C99 也有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-16
  • 2015-07-11
  • 2014-02-20
  • 1970-01-01
相关资源
最近更新 更多