【发布时间】:2013-06-02 22:39:31
【问题描述】:
我有一个问题,还有一些麻烦。我必须阅读带有一些值的文件文本。该文件如下所示:
104 Olympus FE200 244.90
226 JVC MG155 944.20
342 Pentax OPTIOA20 344
509 Canon SELPHYES1 299.20
974 Canon IXUS800IS 444.50
.
.
.
344 Canon EOS500D 500
不同的字符串用“\t”分隔。
我必须编写一个函数来读取所有这些并为我创建一个由以下定义的结构数组:
struct product{
int id;
char constructor[MAX_SIZE];
char product_name[MAX_SIZE];
double price;
};
我实际上可以读取该文件,但是使用 struct 和 tab 结构变得越来越困难。有什么想法吗?
【问题讨论】:
-
太笼统的问题。你的问题是什么,你找不到选项卡,无法创建结构或结构数组?
-
另外,您如何建议您知道产品名称的开始和结束位置?
-
实际上产品定义如下:ID"\t"Constructor"\t"Name"\t"价格我的困难是实际获取值并将它们转换为整数,双打以便创建我的结构产品数组。
-
scanf("%d %s %s %lf", &p.id, p.constructor, p.product_name, &p.price);有什么问题? -
@Elazar:
%s最多可读取任何空白字符。它将停在一个不受欢迎的空间;它只需要在制表符或换行符处停止。而不是%s,您需要使用%[^\t\n]。