标签 成品 下的文章

PHP 简单写个install.php

这次顺便做了一个install.php才发现难度其实并不大,还是文件写入操作而已,安装其实主要操作的还是数据库里的内容,先来看看文件里怎么写:(还是用的Codeigiter,对于使用其他框架或者手写而言,仅思路可参考,用了挺多CI自带的helper或者是library的)

                $content = "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n";
                $content .= '$active_group'. "= 'default';\n";
                $content .= '$active_record'." = TRUE;\n";
                $content .= '$db'."['default']['hostname'] = '".$this->input->post('hostname')."';\n";
                $content .= '$db'."['default']['username'] = '".$this->input->post('rootname')."';\n";
                $content .= '$db'."['default']['password'] = '".$this->input->post('pass')."';\n";
                $content .= '$db'."['default']['database'] = '".$this->input->post('book')."';\n";
                $content .= '$db'."['default']['dbdriver'] = 'mysql';\n";
                $content .= '$db'."['default']['dbprefix'] = '';\n";
                $content .= '$db'."['default']['pconnect'] = TRUE;\n";
                $content .= '$db'."['default']['db_debug'] = TRUE;\n";
                $content .= '$db'."['default']['cache_on'] = FALSE;\n";
                $content .= '$db'."['default']['cachedir'] = '';\n";
                $content .= '$db'."['default']['char_set'] = 'utf8';\n";
                $content .= '$db'."['default']['dbcollat'] = 'utf8_general_ci';\n";
                $content .= '$db'."['default']['swap_pre'] = '';\n";
                $content .= '$db'."['default']['autoinit'] = TRUE;\n";
                $content .= '$db'."['default']['stricton'] = FALSE;";

在文件里用\n来换行,因为里面包括了PHP的代码,这导致了我们只能用双引号避免冲突(否则的话就得用\了,感觉工作量更大),针对$db,直接显示必须要用单引号,于是就出现了这个。

- 阅读剩余部分 -

C 猜数字讲讲输入输出

题目:

用两分搜索策略来猜数字(1-100),比如程序最初猜50,让其询问用户该猜测是大还是小,如果猜测值小,那么下一次猜测值为50-100的中值。

两分法查找的思路+练习输入输出,为了作为一个游戏增强一下卖萌性所以……还是先来看看源码吧

- 阅读剩余部分 -

PHP 代码行数倒计时 说说两个文件函数

前两天看到交大平均4年10W行,然后就跃跃欲试写了一个简单的统计,其实还是表单输入而已,想了想用数据库未免太过浪费,文件函数正好不熟,故用之。

因为很简陋,没有过滤什么的,所以不演示了,自己跑下便知:

<!DOCTYPE html>
<html>
<head>
    <title>Count Code</title>
</head>
<body>
    离10W代码量还有:
    <?php
        $file = fopen('count.txt', 'r');
        $num = fgets($file);

        echo number_format($num);
        fclose($file);
    ?>
    <br/>
    <form action="index.php" method="post">
        <input type="text" placeholder="输入这次的代码行数" name="line" />
        <input type="submit" value="提交" />
    </form>
    <?php
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            $line = $_POST['line'];
            $now = $num - $line;
            file_put_contents('count.txt', $now);
        }
    ?>

</body>
</html>

- 阅读剩余部分 -

C 将字符串s转换为相应的整数型

将字符串s(实际上是数字)转换为相应的整数型。

来看一下这个:

int atoi(char s[])
{
    int i, n;

    n = 0;
    for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
        n = 10 * n + (s[i] - '0');

    return n;
}

刚开始的时候没看懂为什么n = 10 * n + (s[i] - '0');,然后就试着运行了一下,发现确实,如果输入56的话,输出就是56(但肯定改变了类型)

虽然还没有学到数组那个章节,可是根据前面所说的,字符串其实是字符分开储存成数组(最后有\0[当然可以忽略NULL]),他字符一格格储存的,换句话说s[0] = 5; s[1] = 6;差不多类似于这种,然后就好理解了。

关于'0'可见:http://codesky.me/archives/c-variable-const-type.wind

C 编写程序确定各种类型变量取值范围

题目:

编写一个程序以确定分别由signed和unsigned限定的char、short、int与long类型变量的取值范围。

书中说用两种,暂时只会一种,另一种说是用位运算符,难度系数就略高了……

我的输出是:

signed char min:-128
signed char max:127
int max:2147483647
int min:-2147483648
long max:2147483647l
long min:-2147483648l
short max:32767
short min:-32768
unsigned char max:255
unsigned int max:4294967295
unsigned long max:4294967295l
unsigned short max:65535

具体是要取决于你的编译器的,这里以code::blocks为例而已。关于这点,见C 变量与常量 数据类型

- 阅读剩余部分 -

C 删除C语言程序中的所有注释

题目:

编写一个删除C语言程序中所有的注释语句。要正确处理带引号的字符串与字符常量。在C语言中,注释不允许嵌套。

还是看答案吧,毕竟是导言,我并不指望自己能写出来,代码还是勉强能看懂的,就是处理引号部分还不大明白(如为什么echo_quote里搜索\\),留待以后回头再看看这个问题。

另外这个程序一个问题就是分段落输出,这样比较无力……不晓得是不是我码错了什么……换言之,确实它值得改进的地方还有很多,注释也自己乱加了点OTZ。

- 阅读剩余部分 -

C 编写函数实现函数字符串字符颠倒

这是K&R中的一道题目:

编写一个函数reverse(s),将字符串s中的字符顺序颠倒过来。使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序。

在PHP中曾经做过类似的题,见PHP 实现中文字符串截取无乱码,同样也是写reverse()函数,我相信C中也有现成的函数,因为编译器高亮颜色不一样。

输出示例:

hello
olleh

- 阅读剩余部分 -

C 输出菱形

受泽发来的贺电- -嗯……数学不是很好所以码了有一会儿吧。

数学不好搞算法好吃力……

输出比如下面一样的菱形:

   *
  ***
 *****
*******
 *****
  ***
   *

- 阅读剩余部分 -