我试图从函数中的文件输入中扫描结构,并使用其他函数打印它。
最终,我需要能够从我注释掉的代码中打印出相同的信息,但是从我在函数原型声明区域中列出的函数中执行此操作。我只是没有评论其中的2个,所以我可以尝试使用婴儿步骤来扫描和使用函数进行打印。功能本身位于最底层。
要完成scan_auto函数,我需要以某种方式扫描其他属于主结构的结构。我假设我需要从scan_auto调用函数scan_date和scan_tank,但我不确定如何正确地执行此操作。
这是我到目前为止的代码......
Mercury Sable 99842 1 18 2001 5 30 1991 16 12.5
Mazda Navajo 123961 2 20 1993 6 15 1993 19.3 16.7
我正在使用的文本文件(autos.txt)....
<script>
$(document).ready(function(){
if(document.getElementById('blue').checked) {
//Blue radio button is checked
$("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
mp3:"http://s6.voscast.com:10522/;stream/1"
}).jPlayer("play"); // Attempts to Auto-Play the media;
},
play: function() { // To avoid both jPlayers playing together.
$(this).jPlayer("pauseOthers");
},
swfPath: "js",
supplied: "mp3",
wmode: "window",
smoothPlayBar: true,
keyEnabled: true
});
}else if(document.getElementById('orange').checked) {
//Orange radio button is checked
$("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
mp3:"http://stream.tilos.hu/tilos_32.mp3"
}).jPlayer("play"); // Attempts to Auto-Play the media;
},
play: function() { // To avoid both jPlayers playing together.
$(this).jPlayer("pauseOthers");
},
swfPath: "js",
supplied: "mp3",
wmode: "window",
smoothPlayBar: true,
keyEnabled: true
});
}else if(document.getElementById('purple').checked) {
//Purple radio button is checked
$("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
mp3:"http://mr-stream.mediaconnect.hu/4738/mr2.mp3"
}).jPlayer("play"); // Attempts to Auto-Play the media;
},
play: function() { // To avoid both jPlayers playing together.
$(this).jPlayer("pauseOthers");
},
swfPath: "js",
supplied: "mp3",
wmode: "window",
smoothPlayBar: true,
keyEnabled: true
});
}
});
</script>
答案 0 :(得分:1)
但是我不确定如何正确地做到这一点。
你能详细说明你不确定的事吗?如果您不确定如何为struct的struct成员赋值,那么这个示例代码可能对您有所帮助?我将所有的东西结合在一起......
哦,我将您的*vehicle
更改为*v
,以使其更短更易于阅读。
此外,由于您正在访问结构指针的成员,为什么不使用v->xxx
而不是(*v).xxx
?
更新1:你问如何单独进行。这是:
int scan_date(date_t *date, FILE *inp)
{
int result = fscanf(
inp,
"%d%d%d",
&(date->day),
&(date->month),
&(date->year));
return (result == 3);
}
int scan_tank(tank_t *tank, FILE *inp)
{
int result = fscanf(
inp,
"%lf%lf",
&(tank->capacity),
&(tank->current));
return (result == 2);
}
int scan_auto(auto_t *v, FILE *inp)
{
int result = fscanf(
inp,
"%s%s%d",
v->make,
v->model,
&(v->odometer));
result += scan_date(&(v->purch), inp);
result += scan_date(&(v->manuf), inp);
result += scan_tank(&(v->tank), inp);
return (result == 11); // return 0 if true
}