c# 正则匹配查找规定字符串 5C

c# 中用正则表达式匹配point12 ,这样的字符串为正确字符串,如果匹配的
字符串为point12point2这样的字符串为错误字符串,其中数字为随机数字,有可能
为一位数字,有可能为两位数字,有可能为三位或多位数字
匹配规则为,前面5个字母和后面若干个数字为正确,如果前面是5位字母,后面是数字若干位再加字母和数字则为错误。

9个回答

        System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"^point\d{1,3}(、point\d{1,3})*$");
        Response.Write(regex.IsMatch("point12、point2"));
        Response.Write(regex.IsMatch("point12、point2333"));
        Response.Write(regex.IsMatch("point12point23"));

point\d+(,$)

System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"^point\d{1,3}(、point\d{1,3})*$");
    Response.Write(regex.IsMatch("point12、point2"));
    Response.Write(regex.IsMatch("point12、point2333"));
    Response.Write(regex.IsMatch("point12point23"));

我表达错了 不是point12、point2,而是point12或point2这样的单个为正确,后面数字为随机位数,三位或更多,point+数字之后如果后面还有字母,则为错误

point\d+匹配point后面出现数字一次或多次,
图片说明

private bool getResult()
{

Random rdm = new Random();
int n = rdm.Next(0,20); //从0到20的随机数
string str=System.Guid.NewGuid().ToString().Substring(0, n); //随机生成6位即包含字符又包含数字的字符串
if(str.length return false;
if(str.Substring(0, 5)!=point);
return false;
try
{
int num=int.Parse(str.Substring(5, str.length-1));
if(num>0)
return true;
}
catch
{
return false;
}
}


point\d+$
正则这样写就可以了 以多个数字结尾

正则表达式都是通用的,你可以网上找一下

^[a-zA-z]{5}[0-9]*$

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c# 正则匹配查找{}里面的数字
有一行字符串随机长度,比如abha sfho ewn12 kdjh#{12.5,30.2,13.6,5.3,5,6}中括号前面的字符长度随机,如何提取{}里面的数字?
C# dictionary怎么查找key模糊匹配字符串的方法?
C# dictionary怎么查找key模糊匹配字符串的方法?不要用循环,是不是用comparer可以快?有没有类似c++中find_if的方法?
QT 查找文件中字符串并替换的问题
**QT控制台程序,如果需要匹配的字符串在首行的话,无法完成替换。麻烦各位帮忙看看。打印出来的debug显示已经完成替换了,但是首行无法写入。其他行就完全没问题。。。。。。QT环境是QT5.11.0.。。。。谢谢** ``` #include <QtCore/QCoreApplication> #include <QFile> #include <QTextStream> #include <QTextCodec> QString str,str2; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QTextStream cin(stdin, QIODevice::ReadOnly); QTextStream cout(stdout, QIODevice::WriteOnly); QString strAll; QStringList strList; QFile readFile("F:/test.txt"); if(readFile.open((QIODevice::ReadOnly|QIODevice::Text))) { QTextStream stream(&readFile); strAll=stream.readAll(); }readFile.close(); QFile writeFile("F:/test.txt"); if(writeFile.open(QIODevice::WriteOnly|QIODevice::Text)) { QTextStream stream(&writeFile); strList=strAll.split("\n"); cout<<"input string"<<endl; cin>>str; cout<<"input string to replace"<<endl; cin>>str2; for(int i=0;i<strList.count();i++) { if(i==strList.count()-1) { //最后一行不需要换行 stream<<strList.at(i); } else { stream<<strList.at(i)<<'\n'; } //cout<<strList.at(i)<<endl; strList.replaceInStrings(str,str2); #if 0 if(strList.at(i).contains(str)) { //QString tempStr=strList.at(i); strList.replaceInStrings(str,str2); cout<<strList.at(i)<<endl; stream<<'\n'; i++; } #endif } } writeFile.close(); } ```
新手简单字符串问题,求解答C语言
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章 中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。 输入输出格式 输入格式: 输入文件名为stat.in ,2 行。 第1 行为一个字符串,其中只含字母,表示给定单词; 第2 行为一个字符串,其中只可能包含字母和空格,表示给定的文章。 输出格式: 输出文件名为stat.out 。 只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从 0 开始);如果单词在文章中没有出现,则直接输出一个整数-1。 输入输出样例 输入样例#1: To to be or not to be is a question 输出样例#1: 2 0 输入样例#2: to Did the Ottoman Empire lose its power at that time 输出样例#2: -1 我的代码,有错误,但不知到在哪。。。 #include <stdio.h> #include <string.h> int stricmp1(const char*word,const char*words); int main() { char word[20]; char words[100]; int count = 0; int turn =0; int ture = 0; int star; scanf("%s",word); getchar(); getchar(); while(1) { scanf("%s",words); if(stricmp1(word,words)==0) count++; if(count == 1&&ture==0) { ture++; star = turn; } if(getchar() == ' ') continue; else break; turn++; } if(count) printf("%d %d",count,star); else printf("-1\n"); return 0; } int stricmp1(const char*word,const char*words) { int back; int j; int count = 0; int len1,len2; len1 = strlen(word); len2 = strlen(words); if(len1==len2) { for(j=0;j<len1;j++) { if(word[j]==words[j]) count++; else if(word[j]+32==words[j]) count++; else if(word[j]==words[j]+32) count++; } if(count==len1) back = 0; else back = -1; } else back = -1; return back; }
qt 运行出来的框图有残缺
# cpp文件 ``` #include "vsbak.h" #include "ui_vsbak.h" #include <QSettings> #include <QFileDialog> #include<QTime> #include<QtDebug> #include <QMessageBox> #define CONFIG_FILE "config.ini" const QString EXCLUDE_FILE = "/home/hu/project2";// 這個文件沒啥用 Vsbak::Vsbak(QWidget *parent) : QWidget(parent) , ui(new Ui::Vsbak) { ui->setupUi(this); QSettings *configIniRead = new QSettings(CONFIG_FILE, QSettings::IniFormat); dir_src = configIniRead->value("/main/bak_src").toString(); dir_dest = configIniRead->value("/main/bak_dest").toString(); // 配置文件里面有目标地址 gpg_key = configIniRead->value("/main/gpg_key").toString(); exclude_from = configIniRead->value("exclude/exclude").toString(); delete configIniRead; // init bash terminal //QProcess可以用于启动外部程序 cmd = new QProcess(this);// 因为与父类直接释放内存 // Sets the working directory to dir. QProcess will start the process in this directory. //The default behavior is to start the process in the working directory of the calling process. cmd->setWorkingDirectory(dir_src); //This signal is emitted when the process has made new data available //through its standard output channel (stdout). It is emitted regardless of the current read channel. connect(cmd, &QProcess::readyReadStandardOutput, this, &Vsbak::on_readyReadStandardOutput); connect(cmd, &QProcess::readyReadStandardError, this, &Vsbak::on_readyReadStandardError); ui->lineEdit->setText(dir_src); ui->lineEdit_2->setText(dir_dest); // 在ui里直接设置这个地址 // init comboBox init_comboBox(); // init radiobutton: choice full ui->radioButton->setChecked(true); ui->checkBox->setChecked(false); ui->checkBox_2->setEnabled(false); ui->checkBox_3->setEnabled(false); } /* * 设置最大可见数目为5,是不是不合理? */ void Vsbak::init_comboBox() // 找压缩好的文件 Combobox 下拉菜单 { /* * 1. 用一个对象进入dir-dest目录下 * 2. 过滤掉包含后追的文件 * 3. 获取被过滤的文件理解 */ // find all backup.tar.gz files //The QDir class provides access to directory structures and their contents. 不仅能看到结构,还可以看到目录 QDir *curDir = new QDir(dir_dest); //The QStringList class provides a list of strings. //可以让你提取一个新的列表只包含这些字符串包含一个特定的字符串(或匹配特定正则表达式) QStringList filter; // 过渡成一个目录 filter << "*.tar.gz" << "*.tar.gz.gpg"; curDir->setNameFilters(filter); // 过滤掉特定的目录下的文件 //Returns a list of QFileInfo objects for all the files and directories in the directory //QDir::entryInfoList()会获取该目录下所有目录和文件的QFileInfo对象的列表 QList<QFileInfo> *tarFileInfo = new QList<QFileInfo>(curDir->entryInfoList(filter)); /* * dir_dest 里面存放的其实都是被压缩的文件,所以用上面的后缀直接进行过滤 * 1. 设置最大的可见数目为5 * 2. 看目录里面有多少,然后放入这个comboBox * 3. 获取被过滤的文件 * 4. 按照顺序放入到combobox中 */ ui->comboBox->clear(); ui->comboBox->setMaxVisibleItems(5); // 最大可见数目 5 //The string will be inserted as the first item in the combobox. ui->comboBox->setInsertPolicy(QComboBox::InsertAtTop); for (int i=0; i< tarFileInfo->count(); i++)// count()只是计算里面的数量,tarFileinfo实际上是一个文件列表 ui->comboBox->addItem(tarFileInfo->at(i).fileName()); } Vsbak::~Vsbak() { delete ui; // 有何作用 if(cmd->state() == QProcess::Running){ cmd->terminate(); cmd->waitForFinished(); } } void Vsbak::on_readyReadStandardOutput() { // QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput()); // ui->label_4->setText(out); } void Vsbak::on_readyReadStandardError() { QMessageBox::information(0, "Error", cmd->readAllStandardError()); } // change dir_src void Vsbak::on_toolButton_clicked() { /* * 1. 或许dir_src的文件目录名称 * 2. 将dir_src的文件目录名写到lineEdit上面 * 3. 更新配置文件里面的信息 * 4. 设置工作目录 * */ QString dirname; dirname = QFileDialog::getExistingDirectory(this, tr("Open Directory"), dir_src, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if(dirname.isEmpty()) return; else { dir_src = dirname; ui->lineEdit->setText(dir_src); QSettings *configIniWrite = new QSettings(CONFIG_FILE, QSettings::IniFormat); configIniWrite->setValue("/main/bak_src", dir_src); delete configIniWrite; cmd->setWorkingDirectory(dir_src); ui->label_4->setText("change source dir sucess!"); } } // change dir_dest void Vsbak::on_toolButton_2_clicked() { QString dirname; // getExistingDirectory 只获取文件夹 dirname = QFileDialog::getExistingDirectory(this, tr("Open Directory"), dir_dest, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if(dirname.isEmpty()) return; else { dir_dest = dirname; ui->lineEdit_2->setText(dir_dest); QSettings *configIniWrite = new QSettings(CONFIG_FILE, QSettings::IniFormat); configIniWrite->setValue("/main/bak_dest", dir_dest); delete configIniWrite; ui->label_4->setText("change dest dir sucess!"); } } int Vsbak::get_min(QDateTime curTime) { QSettings *configIniReadWrite = new QSettings(CONFIG_FILE, QSettings::IniFormat); int lastTime = configIniReadWrite->value("/main/last_time").toInt();// 将值转化成整形 configIniReadWrite->setValue("/main/last_time", curTime.toTime_t()); delete configIniReadWrite; int minDiff = (curTime.toTime_t()-lastTime) / 60 + 1; return minDiff; } void Vsbak::on_checkBox_clicked() { if(ui->checkBox->isChecked()){ ui->checkBox_2->setEnabled(true); ui->checkBox_3->setEnabled(true); } else{ ui->checkBox_2->setEnabled(false); ui->checkBox_3->setEnabled(false); } } /* * 3 个 String类型 * targz:time + full.tar.gz * cmd_find:find ./ -type f | grep -v \'Permission denied\' > TEPLIST * cmd_tar *目录列表 * * * */ void Vsbak::on_pushButton_clicked(){ // The QDateTime class provides date and time functions. // 调用QDatetime里面的一个函数,赋给另一个QDatetime的类型 QDateTime current_date_time = QDateTime::currentDateTime(); // 初始化三个String类型 QString targz, cmd_find, cmd_tar; //RadioButton presents an option button that can be toggled on (checked) or off (unchecked). //Radio buttons are typically used to select one option from a set of options. //Use isChecked() to see if a particular button is selected. if(ui->radioButton->isChecked()){ // 如果radiobutton 被选择了,那么就进行备份,如果没有就只输出时间 // Linux find命令用来在指定目录下查找文件。 // 将目前目录其其下子目录中所有一般文件列出 # find . -type f // Linux grep 命令用于查找文件里符合条件的字符串。 // -v 或 --revert-match : 显示不包含匹配文本的所有行。 // 反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。 // ./ 表示当前目录的全路径 当前目录的全路径 没有这个 \'Permission denied\'???? //linux的命令,查找文件然后设置权限 // 这个是不管修改不修改,全部列出来 cmd_find = "find ./ -type f | grep -v \'Permission denied\' > TEPLIST";// 这个功能是什么呢 targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".full.tar.gz"; }else{ // 会替换掉前面的百分之1,替换规则是从小到大 //get_min是一个函数,看它具体怎么实现的,应该是循环遍历了current_date_time,找到最小???? int minDiff = get_min(current_date_time); // 获得是最小的查值 // 完成命令,把距离最新一次全部修改的文件单独列出来 cmd_find = QString("find ./ -mmin -%1 -type f | grep -v \'Permission denied\' > TEPLIST").arg(minDiff); targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".inc.tar.gz"; } // exclude from 是一个配置目录 // tar命令 //-v或--verbose 显示指令执行过程 // --totals 备份文件建立后,列出文件大小 //cmd_tar这是压缩tar的linux命令,将exclude里面的文件全部列出来,进行压缩 cmd_tar = QString("tar --verbose --totals --exclude-vcs %1 --files-from=TEPLIST -czf %2/%3").arg(exclude_from).arg(dir_dest).arg(targz);//?5 // 向调试器输出命令的执行结果,方便调试排错 qDebug()<< cmd_find << endl << cmd_tar<< endl; // 下面整个过程就是执行这个命令 QStringList cmd_pipe;// 初始化了一个String目录 cmd_pipe << "-c" << cmd_find; // 说明这个cmd-pipe已经变成了一个linux的cmd命令了 cmd->start("/bin/bash",cmd_pipe); // 开始一个程序 cmd->waitForFinished(); cmd->close(); cmd->start(cmd_tar);// cmd_tar 也变成了一个程序 cmd->waitForFinished(); cmd->close(); cmd->start("rm -f TEPLIST");// 强制删除teplist, teplist 就是临时文件 cmd->waitForFinished(); /*********** Encrypting*************/ // gpg-k 增加公共钥匙 if(ui->checkBox->isChecked()){ QString cmd_enc; QString cmd_isKey = "gpg -k " + gpg_key; cmd->start(cmd_isKey); cmd->waitForFinished(); QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput());// 这个输出就不是很理解为什么 if(out.isEmpty()) // -o, --output FILE write output to FILE // c 说是使用对称加密,看起来很奇怪 cmd_enc = QString("gpg -c -o %1/%2.gpg %1/%2").arg(dir_dest).arg(targz); else // e 是加密数据 , 针对 用户 id 进行加密 cmd_enc = QString("gpg -e -r %1 -o %2/%3.gpg %2/%3").arg(gpg_key).arg(dir_dest).arg(targz); cmd->start(cmd_enc); cmd->waitForFinished(); if(false == ui->checkBox_2->isChecked()){ QString cmd_rm = QString("rm %1/%2.gpg").arg(dir_dest).arg(targz); cmd->start(cmd_rm); cmd->waitForFinished(); } if(false == ui->checkBox_3->isChecked()){ QString cmd_rm = QString("rm %1/%2").arg(dir_dest).arg(targz); cmd->start(cmd_rm); cmd->waitForFinished(); } /* * /home/hu/桌面/vsbak/backup/2019-11-13_19.38.57.full.tar.gz * */ // ui->comboBox->addItem(targz); init_comboBox(); } } void Vsbak::on_pushButton_2_clicked(){ QString targz = ui->comboBox->currentText(); if (targz.endsWith(".tar.gz.gpg")){ targz = targz.remove(".gpg"); QString cmd_enc; QString cmd_isKey = "gpg -k " + gpg_key; cmd->start(cmd_isKey); cmd->waitForFinished(); QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput()); if(out.isEmpty()) cmd_enc = QString("gpg -d -o %1/%2 %1/%2.gpg").arg(dir_dest).arg(targz); else cmd_enc = QString("gpg -d -r %1 -o %2/%3 %2/%3.gpg").arg(gpg_key).arg(dir_dest).arg(targz); cmd->start(cmd_enc); cmd->waitForFinished(); } QString cmd_str = QString("tar -xvf %1/%2").arg(dir_dest).arg(targz); qDebug() << cmd_str; cmd->start(cmd_str); cmd->waitForFinished(); } ``` 上面是cpp文件 下面是 # h文件 #ifndef VSBAK_H #define VSBAK_H #include <QWidget> #include<QProcess> QT_BEGIN_NAMESPACE namespace Ui { class Vsbak; } QT_END_NAMESPACE class Vsbak : public QWidget { Q_OBJECT public: Vsbak(QWidget *parent = nullptr); ~Vsbak(); private slots: void on_readyReadStandardOutput(); void on_readyReadStandardError(); void on_toolButton_clicked(); void on_toolButton_2_clicked(); void on_pushButton_clicked(); void on_pushButton_2_clicked(); void on_checkBox_clicked(); private: Ui::Vsbak *ui; QProcess *cmd; QString dir_dest; QString dir_src; QString gpg_key; QString exclude_from; void init_comboBox(); int get_min(QDateTime curTime);// 获得整形 }; #endif // VSBAK_H 我运行之后出来的qt界面,原本是可以下拉选择的,但是都没有反映,这是为啥
Qt 中一段代码看不懂 C++
下面是QT代码中的一部分,有一些小的问题查不到,跪求大佬们回答 不明白的地方都在语句的后面打了问号,名且标号了数字 具体问题在程序后面 目的: 能够起到备份的作用,备份之后的文件是变成压缩包 同时还能加密, 加密的时候还能生成一个文件 ``` // button backup void Vsbak::on_pushButton_clicked(){ // ?1 // The QDateTime class provides date and time functions. // 调用QDatetime里面的一个函数,赋给另一个QDatetime的类型 QDateTime current_date_time = QDateTime::currentDateTime(); // 初始化三个String类型 QString targz, cmd_find, cmd_tar; //RadioButton presents an option button that can be toggled on (checked) or off (unchecked). //Radio buttons are typically used to select one option from a set of options. //Use isChecked() to see if a particular button is selected. if(ui->radioButton->isChecked()){ // 如果radiobutton 被选择了,那么就进行备份,如果没有就只输出时间 // Linux find命令用来在指定目录下查找文件。 // 将目前目录其其下子目录中所有一般文件列出 # find . -type f // Linux grep 命令用于查找文件里符合条件的字符串。 // -v 或 --revert-match : 显示不包含匹配文本的所有行。 // 反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。 // cmd_find = "find ./ -type f | grep -v \'Permission denied\' > TEPLIST";// 这个功能是什么呢// ?2 targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".full.tar.gz"; }else{ // 会替换掉前面的百分之1,替换规则是从小到大 int minDiff = get_min(current_date_time); // 为什么我可以从Current_date_time里面获得一个最小的时间 //?3 cmd_find = QString("find ./ -mmin -%1 -type f | grep -v \'Permission denied\' > TEPLIST").arg(minDiff); targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".inc.tar.gz"; } // exclude from 是一个配置目录 // tar命令 //-v或--verbose 显示指令执行过程 // --totals 备份文件建立后,列出文件大小 // cmd_tar = QString("tar --verbose --totals --exclude-vcs %1 --files-from=TEPLIST -czf %2/%3").arg(exclude_from).arg(dir_dest).arg(targz);//?4 尤其是后面的exclude--cs 之后,不知道为什么要这样做 qDebug()<< cmd_find << endl << cmd_tar<< endl;// 这里的作用是什么呢,这个<< 在C语言中的作用是什么呢 //?5 QStringList cmd_pipe;// 初始化了一个String目录 cmd_pipe << "-c" << cmd_find; // 说明这个cmd-pipe已经变成了一个linux的cmd命令了 cmd->start("/bin/bash",cmd_pipe); // 开始一个程序 cmd->waitForFinished(); cmd->close(); cmd->start(cmd_tar);// cmd_tar 也变成了一个程序 cmd->waitForFinished(); cmd->close(); cmd->start("rm -f TEPLIST");//?6 这里命令的目的是什么呢? cmd->waitForFinished(); /*********** Encrypting************* // ?7 这里的gpg是个什么样的命令 if(ui->checkBox->isChecked()){ QString cmd_enc; QString cmd_isKey = "gpg -k " + gpg_key; cmd->start(cmd_isKey); cmd->waitForFinished(); QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput()); if(out.isEmpty()) cmd_enc = QString("gpg -c -o %1/%2.gpg %1/%2").arg(dir_dest).arg(targz); else cmd_enc = QString("gpg -e -r %1 -o %2/%3.gpg %2/%3").arg(gpg_key).arg(dir_dest).arg(targz); cmd->start(cmd_enc); cmd->waitForFinished(); if(false == ui->checkBox_2->isChecked()){ QString cmd_rm = QString("rm %1/%2.gpg").arg(dir_dest).arg(targz); cmd->start(cmd_rm); cmd->waitForFinished(); } if(false == ui->checkBox_3->isChecked()){ QString cmd_rm = QString("rm %1/%2").arg(dir_dest).arg(targz); cmd->start(cmd_rm); cmd->waitForFinished(); } } ``` 1. 这一部分要实现的功能到底是个啥,之所以不明白也是因为里面的一些代码不清楚 2. cmd_find = "find ./ -type f | grep -v \'Permission denied\' > TEPLIST";// 这个功能是什么呢,主要是./ 和 后面的 > TEPLIST 看不懂,不知道究竟要干什么 3. 为什么要用getmin呢? int minDiff = get_min(current_date_time); // 为什么我可以从Current_date_time里面获得一个最小的时间 //?3 4. cmd_tar = QString("tar --verbose --totals --exclude-vcs %1 --files-from=TEPLIST -czf %2/%3").arg(exclude_from).arg(dir_dest).arg(targz);//?4 尤其是后面的exclude--cs 之后,不知道巍峨什么要这样做 5. qDebug()<< cmd_find << endl << cmd_tar<< endl;// 这里的作用是什么呢,这个<< 在C语言中的作用是什么呢 //?5 6. cmd->start("rm -f TEPLIST");//?6 这里命令的目的是什么呢? 7. ?7 这里的gpg是个什么样的命令
VS2013 在debug模式下编译没有错误,但使用release模式,就有一堆错误
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include "字符串.h" int main() { Mystring string1; initwithstring(&string1, "xhqld"); printstring(&string1); backaddchar(&string1, 'd'); printstring(&string1); backaddstr(&string1, "forever"); printstring(&string1); char * p = NULL; p = findfirstchar(&string1, 'd'); *p = 'a'; printstring(&string1); char * p1 = mystrstr(string1.p, "ever"); if (p1 != NULL) printf("%c\n", *p1); else printf("not find\n"); printf("--------------\n"); deletechar(&string1, 'a'); printstring(&string1); printf("--------------\n"); deletestring(&string1, "for"); printstring(&string1); printf("--------------\n"); addchar(&string1, 'W', 'e'); printstring(&string1); printf("--------------\n"); addstring(&string1, "lol",'W'); printstring(&string1); system("pause"); return 0; } ``` #include<stdio.h> #include<stdlib.h> struct CString { char * p;//保存字符串的首地址 int length;//字符串长度 }; typedef struct CString Mystring; void init(Mystring * string);//初始化字符串 void initwithlength(Mystring * string, int length); void initwithstring(Mystring *string, char * copystring);// void printstring(Mystring * string);//打印字符串 int mystrlen(char * p);//求字符串长度 char * mystrcpy(char * dest, const char * source);//字符串复制 void backaddchar(Mystring * string, char ch);//尾部增加一个字符 void backaddstr(Mystring * string, char * str);//尾部增加一个字符串 char * findfirstchar(Mystring * string, char ch);//查找第一个匹配字符 char * mystrchr(char * str, char ch);//查找字符 char * mystrstr(char * dest, char * str);//字符串比较函数 int deletechar(Mystring * string, char ch);//删除一个字符 int deletestring(Mystring * string, char * str);//删除一个字符串 void addchar(Mystring * string, char ch, char searchchar);//任意增加字符 void addstring(Mystring * string, char *str, char searchchar);//任意增加字符串 ``` #define _CRT_SECURE_NO_WARNINGS #include"字符串.h" #include<string.h> void init(Mystring * string)//初始化字符串 { string->length = 0; string->p = NULL; } void initwithlength(Mystring * string, int length) { //Mystring * p = (char *)malloc(sizeof(char)*length); Mystring * p = (char *)calloc(length, sizeof(char));//calloc为分配的内存清零,malloc不清零 } void initwithstring(Mystring *string, char * copystring)// { int length = mystrlen(copystring); string->p = (char *)calloc(length + 1, sizeof(char)); mystrcpy(string->p, copystring); string->length = length + 1; } void printstring(Mystring * string)//打印字符串 { printf("%s\n", string->p); } int mystrlen(char * p) { if (p != NULL) { int length = 0; while (*p++ != '\0') length++; return length; } else return -1;//打开失败 } char * mystrcat(char * dest, const char * source) { if (dest == NULL || source == NULL) return NULL; char * pdest = dest; while (*pdest != '\0') pdest++; while (*source != '\0') *pdest++ = *source++; *pdest = '\0'; return dest; } char * mystrcpy(char * dest, const char *source) { if (dest == NULL || source == NULL) return NULL; char * pdest = dest; while (*source != '\0') *pdest++ = *source++; *pdest = '\0'; return dest; } void backaddchar(Mystring * string, char ch)//尾部增加一个字符 { if (mystrlen(string->p) + 2 > string->length)//表达式成立,则表示已满 { string->p = (char *)realloc(string->p, string->length + 2); string->p[string->length - 1] = ch; string->p[string->length] = '\0'; printf("%s\n", string->p); string->length += 2; } else { string->p[mystrlen(string->p)] = ch; string->p[mystrlen(string->p) + 1] = '\0'; } } void backaddstr(Mystring * string, char * str)//尾部增加一个字符串 { if (str != NULL) { if ( mystrlen(string->p) + mystrlen(str) +1 > string->length) { int length = mystrlen(str); string->p = (char *)realloc(string->p, string->length + length + 1); mystrcat(string->p, str); string->p[string->length + length] = '\0'; string->length = string->length + length + 1; } else { mystrcat(string->p, str); string->p[mystrlen(string->p) + mystrlen(str)] = '\0'; } } } char * findfirstchar(Mystring * string,const char ch) { char * p = mystrchr(string->p, ch); return p; } char * mystrchr(char * str, char ch) { if (str != NULL || ch != '\0') { char * pstr = str; while (*pstr != '\0') { if (*pstr == ch) return pstr; pstr++; } return NULL; } } char * mystrstr(char * dest, char * str) { char * pdest = dest; char * pstr = str; int str_length = mystrlen(str); int dest_length = mystrlen(dest); if (str_length <= dest_length) { int flag = 0; int i = 0; while (dest_length - i >= str_length && flag == 0) { if (pdest[i] == pstr[0]) { flag = 1; for (int k = 1; k < str_length && flag == 1; k++) flag = pdest[i + k] == pstr[k] ? 1 : 0; } i++; } return flag == 1 ? &pdest[i - 1] : NULL; /*if (flag == 1) return &pdest[i - 1]; else return NULL;*/ } } int deletechar(Mystring * string, char ch)//删除一个字符 { char * p = mystrchr(string->p, ch); if (p != NULL ) { while (*p != '\0') *p++ = *(p + 1); *--p = '\0'; return 1; } return 0; } int deletestring(Mystring * string, char * str)//删除一个字符串 { char * p = mystrstr(string->p, str);//查找字符串位置 if (p != NULL) { int str_length = mystrlen(str);//计算被查找子串的长度 int string_length = mystrlen(string->p);//计算母串string的长度 char * pend = p + str_length;//pend指向string->p中被查找子串的尾部 while (* pend != '\0')//把被查找子串后面的字符前移,覆盖被查找的子串 *p++ = *pend++; string->p[string_length - str_length] = '\0';//为删除str子串后的string母串设置新的字符串结束符 return 1; } return 0; } void addchar(Mystring * string, char addchar, char searchchar)//任意增加字符 { char * position = mystrchr(string->p, searchchar); if (position != NULL) { int string_length = mystrlen(string->p);//求母串的长度 int position_length = mystrlen(position);//求从插入字符的前面位置开始到字符串末尾处,要移动字符的个数 if (string_length + 2 > string->length)//判断是否满了 { string->p = (char *)realloc(string->p, string_length + 2); for (int i = string_length; i > string_length - position_length; i--)//从插入位置开始将剩下的字符窜后移 string->p[i] = string->p[i - 1]; string->p[string_length + 1] = '\0';//重新设置字符串结束符 *position = addchar;//插入字符串 string->length += 1;//字符串实际长度增加 } else { for (int i = string_length; i > string_length - position_length; i--)//从插入位置开始将剩下的字符窜后移 string->p[i] = string->p[i - 1]; string->p[string_length + 1] = '\0';//重新设置字符串结束符 *position = addchar;//插入字符串 } } } void addstring(Mystring * string, char *str, char searchchar)//任意增加字符串 { printf("test:%d\n", string->length); char * position = mystrchr(string->p, searchchar); if (position != NULL) { int string_length = mystrlen(string->p);//求母串的长度 int position_length = mystrlen(position);//求从插入字符的前面位置开始到字符串末尾处,要移动字符的个数 int str_length = mystrlen(str);//求要添加子串的长度 if (string_length + str_length + 1 > string->length)//判断以前分配的空间是否够用 { string->p = (char *)realloc(string->p, string_length + str_length + 1); string->length += str_length; for (int i = string_length; i >= string_length - position_length; i--)//移动字符,连同字符串结束符一起移动 string->p[i + str_length] = string->p[i]; for (int i = string_length - position_length; i <= string_length - 1; i++) string->p[i] = *str++; } else { for (int i = string_length; i >= string_length - position_length; i--)//移动字符,连同字符串结束符一起移动 string->p[i + str_length ] = string->p[i]; for (int i = string_length - position_length; i < string_length - position_length + str_length; i++) { printf("test:%d,%c\n", i, string->p[i]); string->p[i] = *str++; printf("test:%d,%c\n", i, string->p[i]); } } } } ![图片说明](https://img-ask.csdn.net/upload/201509/11/1441974183_586216.png) 错误代码片段如下: char * position = mystrchr(string->p, searchchar); if (position != NULL) char * p = mystrchr(string->p, ch); return p; char * p = findfirstchar(&string1, 'd'); *p = 'a';
C语言实现文本文档查找,存在bug
用c写了一段文本文档查找的代码,输入被查找文件和关键字后,可以确定被查找文件中是否含有关键字,出现了几次,以及每次出现的行与列(字符串首字母的行与列,注:不支持跨行查找)。如查找单词happy,文件中出现了一次,结果应输出:1次;m行;n列 (即字母'h'的坐标) 但在测试的过程中,在个别情况下,对列的定位不准确,其余,如出现次数,行均正确,但对有时列为何不正确没能找出原因。 现在主要想找出代码哪里有问题,为什么有时候对列的确定出问题,代码后附上我的测试文件、用例以及出错的地方。 输入文件名处代码的逻辑还有些问题,但暂时先不管。 代码如下: ``` #define _CRT_SECURE_NO_WARNINGS #define LENGTH 81 #define MAX1 253 #define MAX2 260 #include <stdio.h> #include <string.h> #include <stdlib.h> void mygrep(FILE *ptr1, char *str, FILE *ptr2); int main() { FILE *p_source = NULL; FILE *p_result = NULL; char source[MAX1] = { 0 }; char result[MAX2] = { 0 }; char key_word[LENGTH] = { 0 }; /*打开被查找文件*/ while (1) { printf("请输入被查找文件路径及名称:\n如:C:\\...\\FileName\n(注:长度应不大于253个字符)\n"); scanf("%s", source); if ((p_source = fopen(source, "r")) != NULL) { break; } else if(strlen(source) > 253)/*检查字符数量*/ { printf("已超过253个字符\n"); continue; } else { printf("文件不存在\n"); continue; } } /*命名结果文件并打开*/ sprintf(result, "%s_result", source); p_result = fopen(result, "w"); /*输入关键字*/ while(1) { printf("请输入关键字:(不超过80个字符)\n"); scanf("%s", key_word); if(strlen(key_word) > 80)/*检查字符数量*/ { printf("已超过80个字符\n"); continue; } else break; } mygrep(p_source, key_word, p_result); fclose(p_source); fclose(p_result); system("pause"); return 0; } void mygrep(FILE *ptr1_move, char *str, FILE *ptr2) { char tmp = '0'; /*存放文件指针当前读取的字符*/ int line = 1; int column = 1; int n = 0; /*连续匹配关键字字符数量*/ int count = 0; if(ptr1_move == NULL) { printf("错误!\n"); exit(1); } while(tmp != EOF) { tmp = fgetc(ptr1_move); if(tmp == '\n') { line++; column = 1; } else if(tmp == str[n]) { n++; column++; if(tmp == str[strlen(str) - 1] && n == strlen(str)) { count++; n = 0; printf("行数 : %3d , 列数 : %3d\n", line, column - strlen(str)); fprintf(ptr2, "行数 : %3d , 列数 : %3d\n", line, column - strlen(str)); } } else { fseek(ptr1_move, -n, 1); column = column - n + 1; n = 0; } } fprintf(ptr2, "\n内容:%s\n", str); printf("\n内容:%s\n", str); fprintf(ptr2, "\n出现次数:%d\n", count); printf("\n出现次数:%d\n\n", count); } ``` 测试文件(网上找的一段英语作文),如下: In my dual profession as an educator and health care provider, I have worked with numerous children infected with there virus that causes AIDS. The relationships that I have had with these special kids have been gifts in my life. They have taught me so many things, but I have especially learned that great courage can be found in the smallest of packages. Let me tell you about Tyler.aaand Tyler was born infected with HIV: his mother was also infected. From the very beginning of his life, he was dependent on medications to enable him to survive. When he was five, he had a tube surgically inserted in a vein in his chest. This tube was connected to a pump, which he carried in a small backpack on his back. Medications were hooked up to this pump and were continuously supplied through this tube to his bloodstream. At times, he also needed supplemented oxygen to support his breathing. Tyler wasn’t willing to give up one single moment of his childhood to this deadly disease. It was not unusual to find him playing and racing around his backyard, wearing his medicine-laden backpack and dragging his tank of oxygen behind him in his little wagon. All of us who knew Tyler marveled at his pure joy in being alive and the energy it gave him. Tyler’s mom often teased him by telling him that he moved so fast she needed to dress him in red. That way, when she peered through the window to check on him playing in the yard, she could quickly spot him. This dreaded disease eventually wore down even the likes of a little dynamo like Tyler. He grew quite ill and, unfortunately, so did his HIV-infected mother. When it became apparent that he wasn’t going to survive, Tyler’s mom talked to him about death. She comforted him by telling Tyler that she was dying too, and that she would be with him soon in heaven. A few days before his death, Tyler beckoned me over to his hospital bed and whispered, “I might die soon. I’m not scared. When I die, please dress me in red. Mom promised she’s coming to heaven, too. I’ll be playing when she gets there, and I want gets there, to make surthe she can find me.” 用例: the 出现错误的地方:倒数第二行when I die...那一行,最后一个there中包含的the,列的输出有误。 请大家帮帮忙,到底是哪里有问题
求大神,为什么当我按A
为什么当我按A,再输入母串jajjajajjaja,查找子串ja,为什么不显示jja中ja的位置 #include<stdio.h> #include<string.h> void main() { char choose; char strSource,strLin,strFind,strReplace; void find(char strSource,char strLin); void exchange(char strSource,char strFind,char strReplace);//声明一个函数,用来实现字符串的替换 printf(" 请选择A或B:"); scanf("%c",&choose); switch(choose) { case 'A':find(strSource,strLin); break; case 'B':exchange(strSource,strFind,strReplace); break; default:printf("错误选择!请重选"); break; } } void find(char*strSource,char*strLin) { char a[6000],b[100]; int i,t=0,l1,l2,k,f; printf("请输入母串:\n"); scanf("%s",a); printf("请输入要查找的子字符串:\n"); scanf("%s",b); l1=strlen(a);//计算strSoure的长度,并将值赋给l1 l2=strlen(b);//计算strLin的长度,并将值赋给l2 for(i=0;i<l1;)//遍历strSource长度 { k=0; //已经遍历的长度 f=1; //匹配的长度标志 while(f) { if(*(a+i+k)!=*(b+k)) //strSource从第i个开始,是否和strLin匹配 f=0; //不匹配标志位,跳出while循环,让i自增 else f=f+1; k++; //遍历长度自增 if(f==l2+1) //找到了和strLin一样的串 { t++; f=0; printf(" 位置为:%d\n",i); } } i+=k; //i跳过本次遍历的长度 } if(t==0) printf(" 母串中不存在该子串:-1\n"); } void exchange(char*strSource,char*strFind,char*strReplace) { char a[6000],b[100],c[100]; int i,r,d,l1,l2,l3,k,f; printf("请输入母串:\n"); scanf("%s",&a); printf("请输入要替换的子字符串:\n"); scanf("%s",&b); printf("新的子字符串为:\n"); scanf("%s",&c); l1=strlen(a); l2=strlen(b); l3=strlen(c); d=l3-l2; for(i=0;i<l1;) { k=0; f=1; while(f) { if(*(a+i+k)!=*(b+k)) //strSource从第i个开始,是否和strFind匹配 f=0; else f=f+1; k++; if(f==l2+1) //找到了和strFind一样的串 { if(d>0) //当l3大于l2,执行下列语句 for(r=0;r<=l1-i-l2;r++) *(a+d+l1-r)=*(a+l1-r); //strSource往后扩展d的长度 if(d<0) //当l3小于l2,执行下列语句 for(r=0;r<l1-i-l2+1;r++) *(a+i+l2+d+r)=*(a+i+l2+r); //strSource往前缩小d的长度 for(r=0;r<l3;r++) *(a+i+r)=*(c+r); //将对应的位置替换成strReplace l1=l1+d; //strSource长度重新计算 f=0; //跳出循环,让i自增 k=l3; //本次遍历的长度重新计算 } } i+=k; //i跳过本次遍历的长度 } printf(" 替换后母串为:%s\n",a); }
求助一个php正则表达式的问题
有一个形式类似下面的字符串 ``` <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&2%2C2%2C">微信公众号营销一本通</a></span> 我想在php环境中用正则表达式匹配出其中书名(微信公众号营销一本通)部分,请问应该怎么写这个正则表达式 更新,整个html文件源代码: <html dir="LTR"> <head> <title>Jinan University Library /All Locations</title> <base target="_self"/> <link rel="stylesheet" type="text/css" href="/scripts/ProStyles.css" /> <link rel="stylesheet" type="text/css" href="/screens/styles.css" /> <link rel="shortcut icon" type="ximage/icon" href="/screens/favicon.ico" /> <script type="text/javascript" src="/scripts/common.js"></script> <script type="text/javascript" src="/scripts/features.js"></script> <script type="text/javascript" src="/scripts/elcontent.js"></script> <script type="text/JavaScript"> <!-- Hide the JS startTimeout(6000000, "/"); // --> </script> <noscript> <meta http-equiv="Refresh" content="6000;URL=/" /> </noscript> <script type="text/javascript" src="/screens/bibdisplay.js"></script><meta name="renderer" content="webkit|ie-comp|ie-stand"> </head> <body bgcolor="#FFFFFF" > <!-- begin toplogo_chx.html file --> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 19 August 2008 --> <script language="JavaScript" type="text/javascript" src="/screens/jquery-1.10.1.min.js"></script> <script language="JavaScript" type="text/javascript" src="/screens/related.js"></script> <script language="JavaScript" type="text/javascript" src="/screens/libinfo.js"></script> <script language="JavaScript" type="text/javascript" src="/screens/searcharg.js"></script> <div class="topLogoDiv"> <div id="skipNav"><a href="#content">跳至內容</a></div> <div class="floatRight"> <ul id="headerNav"> <li class="headerNavFirst"><a href="/*chx">馆藏检索主页</a></li> <li><a href="/screens*chx/help_index_chx.html">帮助</a></li> <li><a href="/patroninfo*chx">登录</a></li> <li><a href="http://opac.jnu.edu.cn/*eng"><font color="#990000"><strong>English</strong></font></a></li> </ul> </div> <a href="/*chx"><img src="/screens/logo.gif" alt="2007 WebPAC PRO"/></a> </div> <div class="clear"> <!-- content div --> <div class="pageNavColumn"><!-- nav menu column--> <span id="limit"></span> <!-- <div id='limit' class="navHeader" style='width:100%;background-color:#D2E0E7; border:1px #666666; text-align:left;'><font size="4"><strong>精确查询,依照:</strong></font></div> <h1 class="navHeader"><font size="3">从哪里查找</font></h1> <ul class="leftCol"> <li><span id="keyword" ></span></li> <li><span id="title" ></span></li> <li><span id="subject"></span></li> <li><span id="author"></span></li> <li><span id="isbnsea"></span></li> <li><span id="callno"></span></li> <li><a href="/search*chx/g">政府文件</a></li> </ul> --> <div id="JNU_QRCode" style="display:none"> </div> <div id="libinfo"></div> <div id="relate"></div> <!-- <h1 class="navHeader"><font size="3">出版年份</font></h1> <ul class="leftCol"> <li style="list-style:none; padding:2px; color:#000"><span id="2009" ></span></li> <li><span id="2008"></span></li> <li><span id="2007"></span></li> <li><span id="2006"></span></li> <li><span id="course"></span></li> <li><a href="/suggest*chx">评论</a></li> </ul> --> <div class="navHeader" style='width:100%;background-color:#D2E0E7; border:1px #666666; text-align:left;'><font size="4"><strong>个性化服务</strong></font></div> <!--<h1 class="navHeader"><font size="3">你的图书馆</h1>--> <ul class="leftCol"> <li><a href="/patroninfo*chx">我的帐户</a></li> <li><a href="/acquire*chx">好书荐购</a></li> <li><a href="/search*chx/X">高级检索</a></li> <li><a href="http://202.116.13.252/newbook/newbook">新书通报</a></li> <li><a href="http://202.116.13.252/reading/" target="_blank"><font color="#990000"><strong>外借排行榜</strong></font></a></li> <li><a href="http://lib.jnu.edu.cn">图书馆主页</a></li> <li><a href="http://toolbar.google.com/buttons/add?url=http://opac.jnu.edu.cn/screens/JNULOPAC.xml">添加OPAC检索按钮到Google工具栏</a></li> <li><a href="http://mycroft.mozdev.org/search-engines.html?name=%E6%9A%A8%E5%8D%97%E5%A4%A7%E5%AD%A6%E5%9B%BE%E4%B9%A6%E9%A6%86" target="_blank" title="点击暨南大学图书馆链接安装插件">OPAC的Firefox搜索引擎插件</a></li> <li><a href="http://202.116.13.41/libStu/video.jsp" target="_blank" title="新生入馆视频指南">新生入馆视频指南</a></li> <li><a href="http://lib.jnu.edu.cn/help/HelpInfo.action?id=34" target="_blank" title="随书光盘系统使用帮助">随书光盘系统使用帮助</a></li> <li><a href="http://202.116.13.4/show.jsp?ID=1339" target="_blank" title="暨南大学图书馆无线网络使用帮助">暨南大学图书馆无线网络使用帮助</a></li> <li><a href="http://lib.jnu.edu.cn/feedback/feedbackList.action?sysid=42&itemid=0" target="_blank"><img src="/screens/aa.gif" /></a></li> <!-- <li><a href="/illb*chx">馆际互借</a></li> <li><a href="/suggest*chx">评论</a></li> </ul> <li><a href="/selfreg*chx">开一个帐户</a></li> <h1 class="navHeader">图书馆链接</h1> <ul class="leftCol"> --> <!--<li><a href="http://toolbar.google.com/buttons/add?url=http://opac.jnu.edu.cn/screens/JNULOPAC.xml" onMouseOver="AdLayer.style.display='inline'" onmouseout="AdLayer.style.display='none'"><font color="#990000"><strong>添加OPAC检索按钮到Google工具栏</strong></font></a></li> --> <!-- <li><a href="/feeds*chx">Feeds</a></li> <li><a href="/screens*chx/rpro_chx.html">Research Pro</a></li> <li><a href="/iii/calendar">活动日程</a></li> <li><a href="/*chx">KidsOnline</a></li> <li><a href="/ftlist*chx">专题馆藏/新书通告</a></li> <li><a href="/screens*chx/resources_index_chx.html">其他资源</a></li> --> <!-- </ul> <h1 class="navHeader">指定参考书</h1> <ul class="leftCol"> <li><a href="/search*chx/r">课程搜索</a></li> <li><a href="/search*chx/p">教师搜索</a></li> --> </ul> </div><!--Styling div--> <!-- 当时用于显示google按钮的 鼠标动作 <div style='position:absolute; width:250px; height:143px; z-index:20; left: 987px; top: 448px;'> <table id="AdLayer" name="AdLayer" border="0" style="display:none"> <tr> <td ><font size="2"> **&#x70B9;&#x51FB;JNUOPAC&#x6309;&#x94AE;&#xFF0C;&#x76F4;&#x63A5;&#x6253;&#x5F00;&#x66A8;&#x5357;&#x5927;&#x5B66;&#x56FE;&#x4E66;&#x9986;&#x4E66;&#x76EE;&#x68C0;&#x7D22;&#x9875;&#x9762;</br></br> **&#x5982;&#x5728;google&#x68C0;&#x7D22;&#x6846;&#x8F93;&#x5165;&#x68C0;&#x7D22;&#x5185;&#x5BB9;&#xFF0C;&#x70B9;&#x51FB;JNUOPAC&#x6309;&#x94AE;&#xFF0C;&#x5C06;&#x4F1A;&#x8FD4;&#x56DE;&#x66A8;&#x5357;&#x5927;&#x5B66;&#x56FE;&#x4E66;&#x9986;&#x4E66;&#x76EE;&#x7684;&#x68C0;&#x7D22;&#x5185;&#x5BB9;&#x3002;</font></td> </tr> </table> </div>--> <div class="pageContentColumn"><!-- content container --> <a name="content"></a> <!--end toplogo_chx.html--> <div align="center" class="navigationRow"> <form> <a href="/search~S1*chx"><img src="/screens/startover_chx.gif" alt="重新检索" border="0" /></a> <a href="/search~S1*chx/X?NOSRCH={u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1"><img src="/screens/modify_chx.gif" alt="修改检索" border="0" /></a> <a href="/search~S1*chx/X"><img src="/screens/another_chx.gif" alt="再次检索" border="0" /></a> <select name=HISTORY onChange="onSelectChange(this, '~S1*chx')"><option value="">(检索历史)</option> <OPTION VALUE="X{u5FAE}{u4FE1}&searchscope=1&SORT=D">关键字: 微信 在 全部馆藏 <option value="+/search~S1*chx/X?{u5FAE}{u4FE1}&searchscope=1&SORT=D&clear_history">(清除检索历史)</option> <option value="+/*chx">(结束检索进程)</option> </select> <noscript> <h2>搜索历史功能需要JavaScript。</h2> </noscript> </form> </div> <!-- BEGIN BROWSE SCREEN TABLE --> <table width="100%" cellpadding="2" cellspacing="0" border="0" class="browseScreen"> <!-- BEGIN SEARCH WIDGET --> <div align="center"> <tr align="center" valign="middle"> <td valign="middle" colspan="2"> <div class="browseSearchtool"> <script type="text/JavaScript"> <!-- Hide the JS var savedScope; var savedTag; var savedSearch; var sortButtonText = null; var savedExactSearch = null; var sortButtonEvent = null; var sortExactBrowseURL = null; var sortTypes = new Array(); var sortLabels = new Array(); sortTypes[0] = "t"; sortLabels[0] = "题名"; sortTypes[1] = "a"; sortLabels[1] = "作者"; sortTypes[2] = "c"; sortLabels[2] = "出版年升序"; sortTypes[3] = "r"; sortLabels[3] = "出版年降序"; sortTypes[4] = "n"; sortLabels[4] = "索书号"; sortTypes[5] = "m"; sortLabels[5] = "载体类型"; sortLabels[6] = "系统排序"; sortTypes[6] = "-"; var sortSelectedValue = "6"; var nonSortTags = "XYZprWw" // Unhide the JS --> </script> <form name="searchtool" target="_self" action="/search~S1*chx/" method='GET'> <label for="searchtype" style="display:none;">SearchType</label> <select name="searchtype" id="searchtype" onChange="initSort()"> <option value="a"> 著者</option> <option value="t"> 题名</option> <option value="d"> 主题</option> <option value="c"> 索书号</option> <option value="i"> 标准号</option> <option value="X" selected="selected"> 关键字</option> </select> &nbsp; <label for="searcharg" style="display:none;">Search</label><input type="text" name="searcharg" id="searcharg" size="30" onchange='return searchtoolSubmitAction()'maxlength="75" value="微信" /> &nbsp; <label for="searchscope" style="display:none;">Search Scope</label><select name="searchscope" id="searchscope"> <option value="1" selected="selected"> 全部馆藏</option> <option value="4"> 本部主要书籍</option> <option value="3"> 本部期刊和报纸</option> <option value="2"> 本部电子资源</option> <option value="7"> 深圳旅游学院</option> <option value="6"> 华文学院图书馆</option> <option value="5"> 暨南文库</option> <option value="8"> 大学城校区</option> </select> &nbsp; <span id="sort_cell"> </span> <script type="text/JavaScript"> <!-- Hide the JS initSort(); // Unhide the JS --> </script> <input type="hidden" name="SORT" value="DZ" /><input type="hidden" name="extended" value="0" /> <input type="submit" name="SUBMIT" value="检索" onclick='return searchtoolSubmitAction();' /> <div> <input type="checkbox" name="availlim" value="1" /> <span class="availLimMessage">只检索可借图书</span><br/> </div> <div> <input type="hidden" name="searchlimits" value="" /> <input type="hidden" name="searchorigarg" value="X{u5FAE}{u4FE1}" /> </div> </form> <div class="browseSearchtoolMessage"> <i>找到 2609 条记录 </i>排序依据 <strong>相关度</strong> | <a href="/search~S1*chx/X?{u5FAE}{u4FE1}&searchscope=1&SORT=DX">日期</a> | <a href="/search~S1*chx/X?{u5FAE}{u4FE1}&searchscope=1&SORT=AX">题名</a> . </div> <div></div></div> </td> </tr> </div> <!-- END SEARCH WIDGET --> <!-- BEGIN BROWSE PAGER --> <!-- begin page widgit --> <tr class="browsePager"><td align="center" class="browsePager" colspan="5"> 结果页面&nbsp;&nbsp;&nbsp;<strong>1</strong> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/13%2C2609%2C2609%2CB/browse">2</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/25%2C2609%2C2609%2CB/browse">3</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/37%2C2609%2C2609%2CB/browse">4</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/49%2C2609%2C2609%2CB/browse">5</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/61%2C2609%2C2609%2CB/browse">6</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/73%2C2609%2C2609%2CB/browse">7</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/85%2C2609%2C2609%2CB/browse">8</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/97%2C2609%2C2609%2CB/browse">9</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/109%2C2609%2C2609%2CB/browse">10</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/121%2C2609%2C2609%2CB/browse">11</a> ... <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/2605%2C2609%2C2609%2CB/browse">218</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/13%2C2609%2C2609%2CB/browse">下一页</a> <!-- end page widgit --> </td> </tr> <!-- END BROWSE PAGER --> <style type="text/css"> <!-- #rategroup1 { display: inline } #rateneed1 { display: none } #rategroupMy1 { display: none } #ratemy1 { display: inline } #rategroup2 { display: inline } #rateneed2 { display: none } #rategroupMy2 { display: none } #ratemy2 { display: inline } #rategroup3 { display: inline } #rateneed3 { display: none } #rategroupMy3 { display: none } #ratemy3 { display: inline } #rategroup4 { display: inline } #rateneed4 { display: none } #rategroupMy4 { display: none } #ratemy4 { display: inline } #rategroup5 { display: inline } #rateneed5 { display: none } #rategroupMy5 { display: none } #ratemy5 { display: inline } #rategroup6 { display: inline } #rateneed6 { display: none } #rategroupMy6 { display: none } #ratemy6 { display: inline } #rategroup7 { display: inline } #rateneed7 { display: none } #rategroupMy7 { display: none } #ratemy7 { display: inline } #rategroup8 { display: inline } #rateneed8 { display: none } #rategroupMy8 { display: none } #ratemy8 { display: inline } #rategroup9 { display: inline } #rateneed9 { display: none } #rategroupMy9 { display: none } #ratemy9 { display: inline } #rategroup10 { display: inline } #rateneed10 { display: none } #rategroupMy10 { display: none } #ratemy10 { display: inline } #rategroup11 { display: inline } #rateneed11 { display: none } #rategroupMy11 { display: none } #ratemy11 { display: inline } #rategroup12 { display: inline } #rateneed12 { display: none } #rategroupMy12 { display: none } #ratemy12 { display: inline } --> </style> <!-- BEGIN BROWSE SCREEN LEFT CELL: BROWSELIST/BRIEFCIT AREA --> <tr><td> <table border="2" cellpadding="3" width="100%"> <tr align="CENTER" valign="MIDDLE"> <td colspan="5" class="browseSaveJump"> <form method="POST" action="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse" name="export_form" id="export_form" > <input type="hidden" name="jumpref" value="X{u5FAE}{u4FE1}"> <input type="hidden" id="save_func" name="save_func" value=""/> <a href="#" onclick="process_save(0);" style="text-decoration:none"> <img src="/screens/savemarked_chx.gif" alt="保存选择" class="button" width="120" height="20" border="0" /></a> <span name='save_page_btn1' id='save_page_btn1' style='visibility: visible' ><a href="#" onclick="process_save(1);" style="text-decoration:none"> <img src="/screens/saveallpage_chx.gif" alt="全部保存" class="button" width="120" height="20" border="0" /></a> </span> <span name='mylist_btn1' id='mylist_btn1' style='visibility: visible' ><a href="#" onclick="save_to_mylist();"> <img src="/screens/save_to_my_lists_chx.gif" alt="保存到我的检索列表" border="0"/></a> </span> </td></tr> </td> </tr> <tr class="browseHeader"> <td align="center" class="browseHeaderData"> 关键词 (1-12 共 2609) </td> </tr> <!-- Right Result rank 1 --> <tr class="browseSuperEntry browseEntryRelGroup1"><td colspan="1"><img src="/screens/relevance5.gif" alt="最相关">&nbsp;最相关题名&nbsp;1-85 条记录</td></tr> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_1'></a> 1</div> <div class="briefcitMedia"> <img src="/screens/media_book.gif" alt="普通图书"></div> <input type="checkbox" name="save" value="b3418326" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&1%2C1%2C">微信品牌营销</a></span> <br/> &nbsp; &nbsp; 北京 : 机械工业出版社, 2016.01&nbsp; &nbsp; 10,188页 ; 25cm<!-- <div> 2016</div> --> <br/> <span>评级:</span> <span id="rategroup1"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_1"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> &nbsp;</div> --> <div class="briefcitItems"> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CC/bibimage&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&1%2C1%2C" target="_parent"><img src="http://book.bookday.cn/book/cover?isbn=9787111520054&w=67&h=97 " border="0" alt="书封"></a></td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_2'></a> 2</div> <div class="briefcitMedia"> <img src="/screens/media_book.gif" alt="普通图书"></div> <input type="checkbox" name="save" value="b3422848" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&2%2C2%2C">微信公众号营销一本通</a></span> <br/> / 魏艳,朱虹主编&nbsp; &nbsp; : 化学工业出版社, 2016.01&nbsp; &nbsp; 181页 ; 24cm : 图<!-- <div> 2016</div> --> <br/> <span>评级:</span> <span id="rategroup2"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_2"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> &nbsp;</div> --> <div class="briefcitItems"> </div> <div class="briefcitItems"> 本书详细介绍了微信公众号营销的各种理念和技巧,以微信公众号为切入点,精选多个微信公众号营销的成功实例构建全文。全书分为基础篇、运用篇和实践篇三篇,全面解析微信公众号的基础知识、运营思路、营销战术,以及推广方法和步骤。</div> </td> <td align="center" width="5%"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CC/bibimage&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&2%2C2%2C" target="_parent"><img src="http://book.bookday.cn/book/cover?isbn=9787122252050&w=67&h=97 " border="0" alt="书封"></a></td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_3'></a> 3</div> <div class="briefcitMedia"> <img src="/screens/media_book.gif" alt="普通图书"></div> <input type="checkbox" name="save" value="b3335811" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&3%2C3%2C">深度微信</a></span> <br/> / 韩曰田著&nbsp; &nbsp; 北京 : 机械工业出版社, 2015&nbsp; &nbsp; XI, 282页 : 图 ; 25cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup3"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_3"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CC/requestbrowse~b3335811&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&3%2C3%2C"><img src="/screens/bullet.gif" alt="" border="0" style="margin-right:5px"/>预约</a></div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> &nbsp;</div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/fivefloor.html">本部五楼社科阅览区</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF713.36%2F201520/cf713+36+201520/-3,-1,,E/browse">F713.36/201520</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/fourfloor.html">本部四楼中文图书外借区</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF713.36%2F201520/cf713+36+201520/-3,-1,,E/browse">F713.36/201520</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;到期 16-03-18 </td></tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;南校区三楼社科图书借阅区 </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF713.36%2F201520/cf713+36+201520/-3,-1,,E/browse">F713.36/201520</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;到期 16-04-13 </td></tr> </table> </div> <div class="briefcitItems"> 本书包括微信营销、运营、创业和微信电商4大主题,涵盖公众号和朋友圈两大领域。营销视角,公众号内容推广的5个技巧;公众号增粉的15种方法,粉丝维护的5个技巧,获取粉丝的8个“后悔”;朋友圈分享的9个技巧,朋友圈营销的6大策略;微信营销的6大禁忌。运营视角,企业社交媒体矩阵构建;公众号2大定位方法、6大定位方向、11条取名技巧或学问;公众号内容组织、编辑、推送策略与技巧;朋友圈定位的2大策略和营销的6个技巧;运营团队的人才策略和团队管理;运营数据的分析方法。创业角度,自媒体、自组织、第三方开发、微信营销、旅游、本地服务、移动电商等7大领域的创业思路、方法和案例;订阅号创业的4大风险。电商角度,订阅号的电商策略和价值、微信小店的布局和全流程操作、微信电商引流的8个妙招、朋友圈的销售属性和卖货策略。</div> </td> <td align="center" width="5%"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CC/bibimage&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&3%2C3%2C" target="_parent"><img src="http://book.bookday.cn/book/cover?isbn=9787111484516&w=67&h=97 " border="0" alt="书封"></a></td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_4'></a> 4</div> <div class="briefcitMedia"> <img src="/screens/media_book.gif" alt="普通图书"></div> <input type="checkbox" name="save" value="b3356842" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&4%2C4%2C">微信蓝皮书</a></span> <br/> / 主编方兴东&nbsp; &nbsp; 北京 : 电子工业出版社, 2015-&nbsp; &nbsp; 册 : 图 ; 24cm<!-- <div> 2015-</div> --> <br/> <span>评级:</span> <span id="rategroup4"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_4"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> &nbsp;</div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼自科阅览区</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cTP393.409%2F20153/ctp393+409+20153/-3,-1,,E/browse">TP393.409/20153</a> <!-- field v -->&nbsp;2014 <!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> 本书全面介绍了微信的发展现状, 深度剖析了微信在互联网金融、移动电子商务、电子政务、自媒体和新媒体营销等领域的实践应用与变革创新, 预测并展望了微信在未来的发展趋势与变革热点, 客观评价了微信作为社交全球化平台中的中国力量代表所蕴藏的战略价值、经济价值和社会价值。本书是国内第一本聚焦微信的精品研究图书, 中国最早的互联网智库--互联网实验室、全球领先的移动互联网研究机构--艾媒咨询强强联合, 国内知名的微信与移动互联网研究者、观察者、实践者鼎力参与。本书研究深入、内容全面、分析独到、可读性强, 极具前瞻性和参考性。</div> </td> <td align="center" width="5%"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CC/bibimage&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&4%2C4%2C" target="_parent"><img src="http://book.bookday.cn/book/cover?isbn=9787121251757&w=67&h=97 " border="0" alt="书封"></a></td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_5'></a> 5</div> <div class="briefcitMedia"> <img src="/screens/media_book.gif" alt="普通图书"></div> <input type="checkbox" name="save" value="b3342924" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&5%2C5%2C">微信营销2.0</a></span> <br/> / 何思南著&nbsp; &nbsp; 北京 : 机械工业出版社, 2015&nbsp; &nbsp; X, 170页 : 图 ; 22cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup5"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_5"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CC/requestbrowse~b3342924&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&5%2C5%2C"><img src="/screens/bullet.gif" alt="" border="0" style="margin-right:5px"/>预约</a></div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> &nbsp;</div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/fivefloor.html">本部五楼社科阅览区</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF713.36%2F201539/cf713+36+201539/-3,-1,,E/browse">F713.36/201539</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/fourfloor.html">本部四楼中文图书外借区</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF713.36%2F201539/cf713+36+201539/-3,-1,,E/browse">F713.36/201539</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;到期 16-03-18 </td></tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;南校区三楼社科图书借阅区 </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF713.36%2F201539/cf713+36+201539/-3,-1,,E/browse">F713.36/201539</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;传递中 </td></tr> </table> </div> <div class="briefcitItems"> 本书内容包括:微信营销进入2.0时代;微信公众平台的创建、运营与营销;微信营销三大步骤;微信营销九大实战技巧;微信营销五大常见错误;微信营销的效果评估;微信营销三大典型案例。</div> </td> <td align="center" width="5%"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CC/bibimage&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&5%2C5%2C" target="_parent"><img src="http://book.bookday.cn/book/cover?isbn=9787111487562&w=67&h=97 " border="0" alt="书封"></a></td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_6'></a> 6</div> <div class="briefcitMedia"> 硕士学位论文</div> <input type="checkbox" name="save" value="b3391400" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&6%2C6%2C">基于微信的企业营销模式创新研究</a></span> <br/> / 侯兴云著&nbsp; &nbsp; 广州 : 暨南大学, 2015&nbsp; &nbsp; 38页 : 图 ; 29cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup6"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_6"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> <a href="http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=F/M2015/171" onclick="window.open('http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=F/M2015/171'); return false;"><img src="/screens/bullet_chx.gif" alt="" border="0" style="margin-right:5px"/>电子资源</a><br /> </div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼本校博硕学位论文</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF%2FM2015%2F171/cf+m2015+171/-3,-1,,E/browse">F/M2015/171</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> &nbsp;</td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_7'></a> 7</div> <div class="briefcitMedia"> 硕士学位论文</div> <input type="checkbox" name="save" value="b3392774" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&7%2C7%2C">“罗辑思维”微信公众号运营策略及其效果研究</a></span> <br/> / 黄晓丹著&nbsp; &nbsp; 广州 : 暨南大学, 2015&nbsp; &nbsp; 53页 : 图 ; 29cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup7"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_7"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> <a href="http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/57" onclick="window.open('http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/57'); return false;"><img src="/screens/bullet_chx.gif" alt="" border="0" style="margin-right:5px"/>电子资源</a><br /> </div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼本校博硕学位论文</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cG%2FM2015%2F57/cg+m2015+57/-3,-1,,E/browse">G/M2015/57</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> &nbsp;</td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_8'></a> 8</div> <div class="briefcitMedia"> 硕士学位论文</div> <input type="checkbox" name="save" value="b3393110" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&8%2C8%2C">基于微信熟人关系圈的自我呈现探析</a></span> <br/> / 张珍珠著&nbsp; &nbsp; 广州 : 暨南大学, 2015&nbsp; &nbsp; 47页 : 图 ; 29cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup8"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_8"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> <a href="http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/86" onclick="window.open('http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/86'); return false;"><img src="/screens/bullet_chx.gif" alt="" border="0" style="margin-right:5px"/>电子资源</a><br /> </div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼本校博硕学位论文</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cG%2FM2015%2F86/cg+m2015+86/-3,-1,,E/browse">G/M2015/86</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> &nbsp;</td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_9'></a> 9</div> <div class="briefcitMedia"> 硕士学位论文</div> <input type="checkbox" name="save" value="b3391591" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&9%2C9%2C">微信公众平台用户参与、用户价值与用户忠诚度的关系研究</a></span> <br/> / 杨永丽著&nbsp; &nbsp; 广州 : 暨南大学, 2015&nbsp; &nbsp; 57页 : 图 ; 29cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup9"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_9"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> <a href="http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=F/M2015/579" onclick="window.open('http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=F/M2015/579'); return false;"><img src="/screens/bullet_chx.gif" alt="" border="0" style="margin-right:5px"/>电子资源</a><br /> </div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼本校博硕学位论文</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cF%2FM2015%2F579/cf+m2015+579/-3,-1,,E/browse">F/M2015/579</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> &nbsp;</td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_10'></a> 10</div> <div class="briefcitMedia"> 硕士学位论文</div> <input type="checkbox" name="save" value="b3392748" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&10%2C10%2C">媒介生态学视角下柬泰华文报刊微信发展研究</a></span> <br/> / 黄慧玲著&nbsp; &nbsp; 广州 : 暨南大学, 2015&nbsp; &nbsp; 76页 : 图 ; 29cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup10"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_10"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> <a href="http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/205" onclick="window.open('http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/205'); return false;"><img src="/screens/bullet_chx.gif" alt="" border="0" style="margin-right:5px"/>电子资源</a><br /> </div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼本校博硕学位论文</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cG%2FM2015%2F205/cg+m2015+205/-3,-1,,E/browse">G/M2015/205</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> &nbsp;</td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_11'></a> 11</div> <div class="briefcitMedia"> 硕士学位论文</div> <input type="checkbox" name="save" value="b3391625" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&11%2C11%2C">柬埔寨《华商日报》微信运营策略研究</a></span> <br/> / 陈毅著&nbsp; &nbsp; 广州 : 暨南大学, 2015&nbsp; &nbsp; 50页 : 图 ; 29cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup11"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_11"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> <a href="http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/219" onclick="window.open('http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=G/M2015/219'); return false;"><img src="/screens/bullet_chx.gif" alt="" border="0" style="margin-right:5px"/>电子资源</a><br /> </div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼本校博硕学位论文</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cG%2FM2015%2F219/cg+m2015+219/-3,-1,,E/browse">G/M2015/219</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> &nbsp;</td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 01 July 2008 --> <tr> <td class="briefCitRow"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td width="5%" align="center" class="briefcitEntry" > <div class="briefcitEntryNum"> <a name='anchor_12'></a> 12</div> <div class="briefcitMedia"> 硕士学位论文</div> <input type="checkbox" name="save" value="b3392933" > </td> <td align="left" class="briefcitDetail"> <!--{nohitmsg}--> <span class="briefcitTitle"> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/frameset&FF=X{u5FAE}{u4FE1}&searchscope=1&SORT=D&12%2C12%2C">基于使用与满足理论的政务微信运营效果评价研究</a></span> <br/> / 吴翀著&nbsp; &nbsp; 广州 : 暨南大学, 2015&nbsp; &nbsp; 75页 : 图 ; 29cm<!-- <div> 2015</div> --> <br/> <span>评级:</span> <span id="rategroup12"><a href="/patroninfo~S1*chx/0/redirect=/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse#anchor_12"><img src="/screens/rate_no.gif" border="0" width="75" height="14" alt="No one has rated this material" title="No one has rated this material" /></a> </span><div class="briefcitRequest"> </div> <span class="briefcitStatus"> </span> <!-- <div class="briefcitActions"> <a href="http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=D/M2015/193" onclick="window.open('http://lib.jnu.edu.cn/webservice/TPIAction.action?callno=D/M2015/193'); return false;"><img src="/screens/bullet_chx.gif" alt="" border="0" style="margin-right:5px"/>电子资源</a><br /> </div> --> <div class="briefcitItems"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="bibItems"> <tr class="bibItemsHeader"> <th width="33%" class="bibItemsHeader"> 馆藏地 </th> <th width="43%" class="bibItemsHeader"> 索书号 </th> <th width="24%" class="bibItemsHeader"> 处理状态 </th> </tr> <tr class="bibItemsEntry"> <td width="33%" ><!-- field 1 -->&nbsp;<a href="http://202.116.13.43/douban/floor/sixfloor.html">本部六楼本校博硕学位论文</a> </td> <td width="43%" ><!-- field C -->&nbsp;<a href="/search~S1*chx?/cD%2FM2015%2F193/cd+m2015+193/-3,-1,,E/browse">D/M2015/193</a> <!-- field v --><!-- field # -->&nbsp;</td> <td width="24%" ><!-- field % -->&nbsp;馆内阅览 </td></tr> </table> </div> <div class="briefcitItems"> </div> </td> <td align="center" width="5%"> &nbsp;</td> </tr> </table> </td> </tr> <!--this is customized <screens/briefcit_chx.html>--> <tr align="CENTER" valign="MIDDLE"> <td colspan="5" class="browseSaveJump"> <a href="#" onclick="process_save(0);" style="text-decoration:none"> <img src="/screens/savemarked_chx.gif" alt="保存选择" class="button" width="120" height="20" border="0" /></a> <span name='save_page_btn2' id='save_page_btn2' style='visibility: visible' ><a href="#" onclick="process_save(1);" style="text-decoration:none"> <img src="/screens/saveallpage_chx.gif" alt="全部保存" class="button" width="120" height="20" border="0" /></a> </span> </form> <form action="/search~S1*chx/X?{u5FAE}{u4FE1}&searchscope=1&SORT=D" method="POST"> <input type="HIDDEN" name="jumpref" value="X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/1%2C2609%2C2609%2CB/browse"> <script type="text/JavaScript"> function iiiDoSubmit_1() { //getFormHandleForm() is in common.js var obj = getFormHandleForm(1); obj.submit(); } </script> <input type="hidden" id="iiiFormHandle_1"/> <a href="#" onclick="iiiDoSubmit_1();"><img src="/screens/locateinresults_chx.gif" alt="Locate in results" class="button" width="120" height="20" border="0" /></a> <script type="text/JavaScript"> //getFormHandleForm() is in common.js var evtobj = getFormHandleForm(1); if (document.layers) { document.captureEvents(Event.KEYUP); } document.onkeyup = function(evt) { if (!evt) evt = window.event; var keyCode; if (evt.which) keyCode = evt.which; else if (evt.keyCode) keyCode = evt.keyCode; var targ; if (evt.target) targ = evt.target; else if (evt.srcElement) targ = evt.srcElement; if (targ.nodeType == 3) //for Safari bug targ = targ.parentNode; if (targ.form) { targ = targ.form; //alert('targ='+targ+' evtobj='+evtobj); if (keyCode == 13 && targ == evtobj) { iiiDoSubmit_1(); } } }; </script> <input type="TEXT" name="jumpto" value="2609" size="4" maxlength="4"> </form> </td></tr> </td> </tr> </table> <!-- END BROWSELIST/BRIEFCIT AREA --> </td> <!-- END BROWSE SCREEN LEFT CELL --> </tr> <!-- BEGIN BOTTOM BROWSE PAGER --> <!-- begin page widgit --> <tr class="browsePager"><td align="center" class="browsePager" colspan="5"> 结果页面&nbsp;&nbsp;&nbsp;<strong>1</strong> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/13%2C2609%2C2609%2CB/browse">2</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/25%2C2609%2C2609%2CB/browse">3</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/37%2C2609%2C2609%2CB/browse">4</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/49%2C2609%2C2609%2CB/browse">5</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/61%2C2609%2C2609%2CB/browse">6</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/73%2C2609%2C2609%2CB/browse">7</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/85%2C2609%2C2609%2CB/browse">8</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/97%2C2609%2C2609%2CB/browse">9</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/109%2C2609%2C2609%2CB/browse">10</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/121%2C2609%2C2609%2CB/browse">11</a> ... <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/2605%2C2609%2C2609%2CB/browse">218</a> <a href="/search~S1*chx?/X{u5FAE}{u4FE1}&searchscope=1&SORT=D/X{u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1/13%2C2609%2C2609%2CB/browse">下一页</a> <!-- end page widgit --> </td> </tr> <!-- END BOTTOM BROWSE PAGER --> </table> <!-- END BROWSE SCREEN TABLE --> <div align="center" class="navigationRow"> <form> <a href="/search~S1*chx"><img src="/screens/startover_chx.gif" alt="重新检索" border="0" /></a> <a href="/search~S1*chx/X?NOSRCH={u5FAE}{u4FE1}&searchscope=1&SORT=D&SUBKEY=%E5%BE%AE%E4%BF%A1"><img src="/screens/modify_chx.gif" alt="修改检索" border="0" /></a> <a href="/search~S1*chx/X"><img src="/screens/another_chx.gif" alt="再次检索" border="0" /></a> <select name=HISTORY onChange="onSelectChange(this, '~S1*chx')"><option value="">(检索历史)</option> <OPTION VALUE="X{u5FAE}{u4FE1}&searchscope=1&SORT=D">关键字: 微信 在 全部馆藏 <option value="+/search~S1*chx/X?{u5FAE}{u4FE1}&searchscope=1&SORT=D&clear_history">(清除检索历史)</option> <option value="+/*chx">(结束检索进程)</option> </select> </form> </div> <!-- begin botlogo.html file --> <!-- Rel 2007 "Skyline" Example Set --> <!-- This File Last Changed: 27 June 2008 --> </div><!-- end content container --> </div> <!-- end clearing div --> <div style="clear:both"></div> <!-- end botlogo.html file --> </body> </html> ```
C语言程序,运行时KMP算法为什么比BF算法要慢?
求大佬帮忙修改一下程序,为什么运行出来KMP反而比BF要慢呢? #include<time.h> #include <iostream> #include <string.h> #include<stdlib.h> clock_t start,stop,start1,stop1; double duration,duration1; using namespace std; typedef struct { string str; int length; }Str; int getlength(string ch) { int i=0,length=0; while(ch[i]!='\0'){ length++; i++; } return length; } void getNext(Str ch,int *next) { int j=0,k=-1; next[0]=-1; while(j<ch.length){ if(k==-1||ch.str[j]==ch.str[k]){ if(ch.str[++j]==ch.str[++k]){ next[j]=next[k]; } else{ next[j]=k; } } else{ k=next[k]; } } } int KMP(Str S,Str T,int pos,int *next){ int i,j; i=pos-1; j=0; while(i<S.length&&j<T.length){ if(S.str[i]==T.str[j]||j==-1){ i++; j++; } else{ j=next[j]; } } if(j==T.length){ return i-j+1; } else return -1; } int BF(Str S,Str T,int pos){ int i,j; i=pos-1; j=0; while(i<S.length&&j<T.length){ if(S.str[i]==T.str[j]){ i++; j++; } else{ i=i-j+2; j=0; } } if(j==T.length) return i-j+1; else return -1; } int main(){ Str S,T; int pos,p1,p2,N,n,k; char s[100000]; char t[10000]; cout<<"请输入主字符串:"<<endl; cout<<"请输入N:"<<endl; cin>>N; srand(time(0)); for(k=0;k<N;k++) s[k]=rand()%('z'-'a'+1)+'a'; S.str=s; cout<<"已经生成 "<<endl; cout<<"请输入子字符串:"<<endl; cout<<"请输入n: "<<endl; cin>>n; for(k=0;k<n;k++) t[k]=rand()%('z'-'a'+1)+'a'; T.str=t; cout<<"已经生成 "<<endl; cout<<"请输入查找的起始位置:"<<endl; cin>>pos; S.length=N; T.length=n; int i,j; cout<<"请输入重复次数:"<<endl; cin>>i; j=i; int *next=new int[T.length]; start=clock(); while(i){ getNext(T,next); p1=KMP(S,T,pos,next); i--; } stop=clock(); duration=((double)(stop-start))/CLK_TCK; printf("KMP算法的时间%f",duration); cout<<"使用KMP算法:"<<endl; if(p1==-1) cout<<"主串中没有匹配的子串"<<endl; else cout<<"从第"<<pos<<"个字符开始找起,第一次出现子串的位置为"<<p1<<endl; start1=clock(); while(j){ p2=BF(S,T, pos); j--; } stop1=clock(); duration1=((double)(stop1-start1))/CLK_TCK; printf("BF算法的时间%f",duration1); cout<<"使用BF算法:"<<endl; if(p2==-1) cout<<"主串中没有匹配的子串"<<endl; else cout<<"从第"<<pos<<"个字符开始找起,第一次出现子串的位置为"<<p2<<endl; delete []next; return 0; }
【C语言】结构体数据处理异常问题
每个城市信息由城市名(字符串)和位置坐标组成(x,y)。设计实现一程序,完成如下功能: (1)从键盘或文件输入各城市信息 (2)按城市名字非递减排序后输出 (3)输入某个位置信息,查询该位置的城市名称,要求能多次查询。 ``` #include <stdio.h> #include <stdlib.h> #define MAXSIZE 20 typedef char ElemType; struct info { ElemType name[MAXSIZE]; int x; int y; }; int main() { struct info city[MAXSIZE]; //从键盘输入信息 int i=0,count=0; printf("请输入城市名和位置坐标x,y,以空格键隔开(输入“q 0 0”以结束):"); while((scanf("%s %d %d",city[i].name,&city[i].x),&city[i].y)!=0) { if(i>=MAXSIZE) { printf("超出最大输入个数!"); break; } if(strcmp(city[i].name,"q")==0) break; i++; count++; printf("请输入城市名和位置坐标x,y,以空格键隔开:"); } //排序 int m,n; struct info temp; for(m=0;m<count-1;m++) { for(n=0;n<count-m-1;n++) { if(strcmp(city[n].name,city[n+1])>0) { temp=city[n]; city[n]=city[n+1]; city[n+1]=temp; } } } //按非递减顺序输出 for(i=0;i<count;i++) { printf("%s %d %d \n",city[i].name,city[i].x,city[i].y); } //查询 int x,y; printf("请输入您要查找的位置坐标x,y,之间以空格隔开,以“q q”结束操作:"); while(scanf("%d %d",&x,&y)!=0) { for(i=0;i<count;i++) { if(x==city[i].x&&y==city[i].y) { printf("\n您要查找的城市为 %s ",city[i].name); break; } else if(i==count-1) { printf("\n未找到匹配的城市!"); } } } printf("\n感谢您的使用,再见!"); return 0; } ``` 代码运行正常,排序、查找功能都正常,但输入数据后,输出(打印在屏幕上)的数据坐标y全部变为0,请问这是怎么回事,看了很久没有看出来
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
MySQL数据库总结
一、数据库简介 数据库(Database,DB)是按照数据结构来组织,存储和管理数据的仓库。 典型特征:数据的结构化、数据间的共享、减少数据的冗余度,数据的独立性。 关系型数据库:使用关系模型把数据组织到数据表(table)中。现实世界可以用数据来描述。 主流的关系型数据库产品:Oracle(Oracle)、DB2(IBM)、SQL Server(MS)、MySQL(Oracle)。 数据表:数...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片...
中年危机,35 岁定律,见鬼去吧!
中年危机,35 岁定律,相信你都听说过,每次触及还会让你感到丝丝焦虑,毕竟时间这把杀猪刀不会放过任何一个人。中年危机或 35 岁定律是客观存在的,你迟早都会遭遇的,那你是否有信心战胜它呢? 中年危机之所以让人害怕,一则是你没有把握打赢这场遭遇战,再则中年是一个输不起的阶段。古人云:知己知彼,百战不殆。恐惧,主要源自对敌人和自己的不了解,不知道敌人的优劣势,也不清楚自己的长短板,常常以己之所短攻彼...
张小龙-年薪近3亿的微信之父,他是如何做到的?
张小龙生于湖南邵东魏家桥镇, 家庭主要特点:穷。 不仅自己穷,亲戚也都很穷,可以说穷以类聚。爷爷做过铜匠,总的来说,标准的劳动阶级出身。 家有兄弟两人, 一个小龙,一个小虎。 小虎好动,与邻里打成一片, 小龙好静,喜好读书。 “文静的像个妹子。”张小龙的表哥如是说。 穷文富武,做个读书郎是个不错的选择。 87年至94年, 华中科技大学本硕连读。 本科就读电信系, 不喜欢上课...
阿里靠什么武功秘籍渡过“双十一“的天量冲击
双十一大概会产生多大的数据量呢,可能大家没概念,举个例子央视拍了这么多年电视新闻节目,几十年下来他存了大概80P的数据。而今年双11一天,阿里要处理970P的数据,做为一个IT人,笔者认为今年”双十一“阿里最大的技术看点有有以下两个: 阿里的数据库,也就是刚刚拿下TPC冠军的OcceanBase,处理峰值也达到了骇人听闻的6100万次/秒, 阿里核心系统百分百上云了。 如果把信息系统比做一个武...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
相关热词 基于c#波形控件 c# 十进制转十六进制 对文件aes加密vc# c#读取栈中所有的值 c# rsa256加密 好 学c# 还是c++ c# 和java的差距 c# curl网络框架 c# https证书请求 c# 中崎
立即提问