【发布时间】: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。其他语言可能更容易。