小编Pik*_*Man的帖子

特定的C功能如何工作?

我正在努力学习C并且我已经非常困惑了.

在我使用的OOP语言中,存在执行方法重载的能力,其中相同的函数可以具有不同的参数类型并且以最合适的方式调用.

现在在C中我知道情况并非如此,所以我无法弄清楚以下问题,printf()如何工作.

例如:

char chVar = 'A';
int intVar = 123;
float flVar = 99.999;

printf("%c - %i - %f \n",chVar, intVar, flVar);
printf("%i - %f - %c \n",intVar, flVar, chVar);
printf("%f - %c - %i \n",flVar, chVar, intVar);
Run Code Online (Sandbox Code Playgroud)

现在因为C不支持函数重载,printf如何设法获取任何类型的任意数量的参数,然后与它们一起正常工作?

我试图通过下载glibc源程序包找到printf()工作,但似乎可以找到它,虽然我会继续寻找.

这里有人可以解释C如何执行上述任务吗?

c printf overloading

10
推荐指数
2
解决办法
2万
查看次数

使用BeautifulSoup提取特定的TD表格元素文本?

我试图使用BeautifulSoup库从自动生成的HTML表中提取IP地址,我有点麻烦.

HTML的结构如下:

<html>
<body>
    <table class="mainTable">
    <thead>
        <tr>
            <th>IP</th>
            <th>Country</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><a href="hello.html">127.0.0.1<a></td>
            <td><img src="uk.gif" /><a href="uk.com">uk</a></td>
        </tr>
        <tr>
            <td><a href="hello.html">192.168.0.1<a></td>
            <td><img src="uk.gif" /><a href="us.com">us</a></td>
        </tr>
        <tr>
            <td><a href="hello.html">255.255.255.0<a></td>
            <td><img src="uk.gif" /><a href="br.com">br</a></td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

下面的小代码从两个td行中提取文本,但我只需要IP数据,而不是IP和国家/地区数据:

from bs4 import BeautifulSoup
soup = BeautifulSoup(open("data.htm"))

table = soup.find('table', {'class': 'mainTable'})
for row in table.findAll("a"):
print(row.text)
Run Code Online (Sandbox Code Playgroud)

这个输出:

127.0.0.1
uk
192.168.0.1
us
255.255.255.0
br
Run Code Online (Sandbox Code Playgroud)

我需要的是IP table.tbody.tr.td.a元素文本而不是国家table.tbody.tr.td.img.a元素.

是否有任何有经验的BeautifulSoup用户会对如何选择和提取有所了解.

谢谢.

html python beautifulsoup

5
推荐指数
1
解决办法
2万
查看次数

使用JQuery,AJAX和PHP

我正在创建一个PHP站点,并遇到了以下问题,我希望能够单击页面上的超链接,将一个小数据项发送到php脚本,让脚本执行其功能,然后返回结果.

我在这个站点上使用AJAX将每个页面加载到站点的div部分,所有页面,数据和响应都加载到这个中央div中,如下所示:

<html>
    <body>
        <div id="topMenuBar">
            <div id="contents">
            //ALL DATA IS LOADED HERE...//
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

因此,当从顶部菜单中选择页面时,我只需运行以下代码:

$('#topMenuBar a').click(function(e)
{
    e.preventDefault();
    $('#contents').load($(this).attr('href'), function()
    {
    });
});
Run Code Online (Sandbox Code Playgroud)

现在页面加载到内容部分,我正在加载一个名为"results.php"的页面,它连接到数据库,查询它,并创建一个带有结果的HTML表.每个表行都有一个小的超链接,当点击它时,它意图将值发送到另一个PHP脚本,然后清除内容div,然后使用此脚本的响应重新填充div(getInfo.php).例如,一行将具有以下PHP代码生成链接:

<label class="moreInfo"><a name="test01" onClick="getInfoFromPHP(<?php echo $data[$id]; ?> )">Get Info</a></label>
Run Code Online (Sandbox Code Playgroud)

因此当表格由PHP生成时,点击时链接会传递JS函数的值.

我现在需要做的是将值发送到PHP脚本,该脚本将再次查询数据库,并将结果插入"contents"div.我一直在尝试以下功能.

function getInfoFromPHP(myVar){
    var netID = myVar;
    $.ajax({
        url: "getInfo.php",
        type: "POST",     
        data: { 
            networkID: netID
        }, 
        success: function(html) {
            $('#contents').empty();
            $('#contents').load(html);
        }      
    });
};
Run Code Online (Sandbox Code Playgroud)

当我调用该函数时,它似乎确实将数据发送到脚本但我从firebug得到以下错误:

POST http://127.0.0.1/private/networks/includes/leave_a_network.php - 200 OK -15ms
GET http://127.0.0.1/%3Ch2%3EHello 403 Forbidden 21ms"NetworkError:403 Forbidden - http://127.0 .0.1 /%3Ch2%3EHello …

javascript php ajax jquery

3
推荐指数
1
解决办法
1377
查看次数

创建JavaScript变量

我正在开发一个小型的Web项目,我在JS中创建变量时有点困惑.

该应用程序允许人们使用JS库Raphael在画布上创建形状.这一切都非常简单但我想知道的是,假设用户创建了10个立方体.我将如何在javascript中执行此操作,我的意思是,这些多维数据集中的每一个都需要自己的变量名称,以便可以引用它们.如何让用户在创建对象时创建变量?

我意识到这似乎是一个令人难以置信的愚蠢问题,但我的大脑目前有点疲惫不堪.

感谢您对此事的任何帮助.

javascript variables

0
推荐指数
1
解决办法
70
查看次数

在Java中使用带有接口的增强型for循环?

我试图更好地理解Java接口,并在一些非常基本的代码中遇到以下问题.

以下创建两个实现相同接口的类.然后我创建两个ArrayLists来保存这两个类的对象.然后,我想创建一个增强型for循环,它遍历每个列表并执行最初在界面中定义的方法.

我认为我可以使用循环,而不是采用特定的类类型,因为它的参数可以使用接口类型,这将允许我使用任何实现该接口的类,但似乎我犯了错误.

我将如何创建一个for循环,它只允许对实现接口的类进行操作?

interface Valueing{
    double getValue();
}

class Coin implements Valueing
{
    private double coinVal = 0.0;
    Coin(double initVal){
        coinVal = initVal;
    }
    public double getValue(){
        return this.coinVal;
    }
}

class Note implements Valueing
{
    private int noteVal = 0;
    Note(int initVal){
        noteVal = initVal;
    }
    public double getValue(){
        return (double)noteVal;
    }
}

public class IFaceBasics{
    public static void main(String[] args){
        ArrayList<Coin> myChange = new ArrayList<Coin>();
        myChange.add(new Coin(0.01));
        double totalChange = sumValues(myChange);

        ArrayList<Note> myNotes = new ArrayList<Note>();
        myNotes.add(new …
Run Code Online (Sandbox Code Playgroud)

java foreach interface

0
推荐指数
1
解决办法
1390
查看次数