【问题标题】:create a string from a structure array in c从c中的结构数组创建一个字符串
【发布时间】:2011-05-20 15:28:16
【问题描述】:

我是 c 编程新手,我很难弄清楚如何从结构数组创建字符串。我有一堆我想在程序中拥有的数据点。我创建了一个结构数组,现在我需要它们从中创建一个字符串。这是我到目前为止的代码。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main()
{ 
 int i=0;


      struct wmm
   {
    float n;
    float m;
    float gnm;
    float hnm;
    float dgnm;
    float dhnm;
   }  book[3]= {{1, 0,  -29496.6,       0.0,       11.6,       0.0},
  {1, 1,   -1586.3,    4944.4,       16.5,     -25.9},
  {2, 0,   -2396.6,       0.0,      -12.1,       0.0},
  {2, 1,    3026.1,   -2707.7,       -4.4,     -22.5}};

现在我想创建一个名为 c_string 的字符串并能够使用这个函数:

sscanf(c_str,"%d%d%lf%lf%lf%lf",&n,&m,&gnm,&hnm,&dgnm,&dhnm);

并使用数据点列表进行计算。

谢谢

【问题讨论】:

  • 在您的示例中,数据已经在数组中,那么为什么要使用 sscanf?
  • 我正在修改从单独文件导入数据的代码,但我需要将所有数据都包含在程序中。为了尽可能减少改动,我只想生成一个与程序从数据文件创建的字符串完全相同的字符串。
  • 您正在尝试进行代码生成?如果是这样,不要因为生成的代码是 c 就觉得必须使用 c。其他语言可能更容易。

标签: c arrays string structure


【解决方案1】:

您可能希望使用snprintf() 生成格式化字符串,并使用malloc() 创建要写入的字符数组。请注意,您可能需要仔细考虑您需要的字符数组的大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多