iOS判断字符串内容是否全部为 空格

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

iOS判断字符串内容是否全部为空格,iOS判断字符串中是否含有非法字符(非法字符是指除数... iOS清除xcode缓存和生成文件
iOS如何查看日志
[代码] [C/C++]代码
*inputf.h - input formatted
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
* defines inputf() - input formatted data
*
******************************************************************************* #include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <stddef.h>
#include <windows.h>
#include <wincon.h>
#ifdef __cplusplus
//IOS如何获取设备的 DeviceToken
//ios使用代理方式在两个页面之前传值
extern "C"
{
#endif /* __cplusplus */
void input(
const char *s
)
/*
* do the real work
*/
{
DWORD w;
HANDLE h = GetStdHandle(STD_INPUT_HANDLE);
INPUT_RECORD i = { 0 };
i.EventType = KEY_EVENT;
i.Event.KeyEvent.bKeyDown = TRUE;
while (*s) {
i.Event.KeyEvent.uChar.AsciiChar = *s != '\n' ? *s : VK_RETURN;
WriteConsoleInput(h, &i, 1, &w);
++s;
}
}
/***
*int inputf(format, ...) - input formatted data
*
*Purpose:
* Inputs formatted data on stdin using the format string to
* format data and getting as many arguments as called for
* Uses temporary buffering to improve efficiency.
* input does the real work here
*
*Entry:
* char *format - format string to control data format/number of arguments * followed by list of arguments, number and type controlled by
* format string
*
*Exit:
* returns number of characters inputed
*
*Exceptions:
*[代码] [Google Go]代码
package main
import (
"io/ioutil"
"net/http"
"net/"
"fmt"
"encoding/json"
)
//----------------------------------
// 黄金数据调用示例代码-聚合数据
// 在线接口文档:www/docs/29
//----------------------------------
const APPKEY = "*******************" //您申请的APPKEY
func main(){
//1.上海黄金交易所
Request1()
//2.上海期货交易所
Request2()
//3.银行账户黄金
Request3()
}
//1.上海黄金交易所
func Request1(){
//请求地址
juhe :="web:8080/finance/gold/shgold"
//初始化参数
param:=.Values{}
//配置请求参数,方法内部已处理encode问题,中文参数可以直接传参
param.Set("key",APPKEY) //APP Key
param.Set("v","") //JSON格式版本(0或1)默认为0
//发送请求
data,err:=Get(juhe,param)
if err!=nil{
fmt.Errorf("请求失败,错误信息:\r\n%v",err)
}else{
var netReturn map[string]interface{}
json.Unmarshal(data,&netReturn)
if netReturn["error_code"].(float64)==0{
fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"]) }
}
}
//2.上海期货交易所
func Request2(){
//请求地址
juhe :="web:8080/finance/gold/shfuture"
//初始化参数
param:=.Values{}
//配置请求参数,方法内部已处理encode问题,中文参数可以直接传参
param.Set("key",APPKEY) //APP Key
param.Set("v","") //JSON格式版本(0或1)默认为0
//发送请求
data,err:=Get(juhe,param)
if err!=nil{
fmt.Errorf("请求失败,错误信息:\r\n%v",err)
}else{
var netReturn map[string]interface{}
json.Unmarshal(data,&netReturn)
if netReturn["error_code"].(float64)==0{
fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"]) }
}
}
//3.银行账户黄金
func Request3(){
//请求地址
juhe :="web:8080/finance/gold/bankgold"
//初始化参数
param:=.Values{}
//配置请求参数,方法内部已处理encode问题,中文参数可以直接传参
param.Set("key",APPKEY) //APP Key
//发送请求
data,err:=Get(juhe,param)
if err!=nil{
fmt.Errorf("请求失败,错误信息:\r\n%v",err)
}else{
var netReturn map[string]interface{}
json.Unmarshal(data,&netReturn)
if netReturn["error_code"].(float64)==0{
fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"]) }
}
}
// get 网络请求
func Get(api string,params .Values)(rs[]byte ,err error){
var *.
,err=.Parse(api)
if err!=nil{
fmt.Printf("解析错误:\r\n%v",err)
return nil,err
}
//如果参数中有中文参数,这个方法会进行Encode
.RawQuery=params.Encode()
resp,err:=http.Get(.String())
if err!=nil{
fmt.Println("err:",err)
return nil,err
}
defer resp.Body.Close()
return ioutil.ReadAll(resp.Body)
}
// post 网络请求 ,params 是.Values类型
func Post(api string, params .Values)(rs[]byte,err error){
resp,err:=http.PostForm(api, params)
if err!=nil{
return nil ,err
}
defer resp.Body.Close()
return ioutil.ReadAll(resp.Body)
}
代码描述:基于GO的黄金数据接口调用代码实例
关联数据:黄金数据
[代码] [C#]代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ;
using System.IO;
using ;
using System.Diagnostics;
using System.Web;
//----------------------------------
// 黄金数据调用示例代码-聚合数据
// 在线接口文档:www/docs/29
// 代码中JsonObject类下载地址:/download/gcm3206021155665/7458439 //----------------------------------
namespace ConsoleAPI
{
class Program
{
static void Main(string[] args)
{
string appkey = "*******************"; //配置您申请的appkey
//1.上海黄金交易所
string 1 = "web:8080/finance/gold/shgold";
var parameters1 = new Dictionary<string, string>();
parameters1.Add("key", appkey);//你申请的key
parameters1.Add("v" , ""); //JSON格式版本(0或1)默认为0
string result1 = sendPost(1, parameters1, "get");
JsonObject newObj1 = new JsonObject(result1);
String errorCode1 = newObj1["error_code"].Value;
if (errorCode1 == "0")
{
Debug.WriteLine("成功");
Debug.WriteLine(newObj1);
}
else
{
//Debug.WriteLine("失败");
Debug.WriteLine(newObj1["error_code"].Value+":"+newObj1["reason"].Value); }
//2.上海期货交易所
string 2 = "web:8080/finance/gold/shfuture";
var parameters2 = new Dictionary<string, string>();
parameters2.Add("key", appkey);//你申请的key
parameters2.Add("v" , ""); //JSON格式版本(0或1)默认为0
string result2 = sendPost(2, parameters2, "get");
JsonObject newObj2 = new JsonObject(result2);
String errorCode2 = newObj2["error_code"].Value;
if (errorCode2 == "0")
{
Debug.WriteLine("成功");
Debug.WriteLine(newObj2);
}
else
{
//Debug.WriteLine("失败");
Debug.WriteLine(newObj2["error_code"].Value+":"+newObj2["reason"].Value); }
//3.银行账户黄金
string 3 = "web:8080/finance/gold/bankgold";
var parameters3 = new Dictionary<string, string>();
parameters3.Add("key", appkey);//你申请的key
string result3 = sendPost(3, parameters3, "get");
JsonObject newObj3 = new JsonObject(result3);
String errorCode3 = newObj3["error_code"].Value;
if (errorCode3 == "0")
{
Debug.WriteLine("成功");
Debug.WriteLine(newObj3);
}
else
{
//Debug.WriteLine("失败");
Debug.WriteLine(newObj3["error_code"].Value+":"+newObj3["reason"].Value); }
}
/// <summary>
/// Http (GET/POST)
/// </summary>
/// <param name="">请求</param>
/// <param name="parameters">请求参数</param>
/// <param name="method">请求方法</param>
/// <returns>响应内容</returns>
static string sendPost(string , IDictionary<string, string> parameters, string method)
{
if (method.ToLower() == "post")
{
HttpWebRequest req = null;
HttpWebResponse rsp = null;
System.IO.Stream reqStream = null;
try
{
req = (HttpWebRequest)WebRequest.Create();
req.Method = method;
req.KeepAlive = false;
req.ProtocolVersion = HttpVersion.Version10;
req.Timeout = 5000;
req.ContentType =
"application/x-www-form-encoded;charset=utf-8";
byte[] postData =
Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8"));
reqStream = req.GetRequestStream();
reqStream.Write(postData, 0, postData.Length);
rsp = (HttpWebResponse)req.GetResponse();
Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet); return GetResponseAsString(rsp, encoding);
}
catch (Exception ex)
{
return ex.Message;
}
finally
{
if (reqStream != null) reqStream.Close();
if (rsp != null) rsp.Close();
}
}
else
{
//创建请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create( + "?" + BuildQuery(parameters, "utf8"));
//GET请求
request.Method = "GET";
request.ReadWriteTimeout = 5000;
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response =
(HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
//返回内容
string retString = myStreamReader.ReadToEnd();
return retString;
}
}
/// <summary>
/// 组装普通文本请求参数。

/// </summary>
/// <param name="parameters">Key-Value形式请求参数字典</param>
/// <returns>编码后的请求数据</returns>
static string BuildQuery(IDictionary<string, string> parameters, string encode)
{
StringBuilder postData = new StringBuilder();
bool hasParam = false;
IEnumerator<KeyValuePair<string, string>> dem =
parameters.GetEnumerator();
while (dem.MoveNext())
{
string name = dem.Current.Key;
string value = dem.Current.Value;
// 忽略参数名或参数值为空的参数
if
(!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)
{
if (hasParam)
{
postData.Append("&");
}
postData.Append(name);
postData.Append("=");
if (encode == "gb2312")
{
postData.Append(HttpUtility.Encode(value,
Encoding.GetEncoding("gb2312")));
}
else if (encode == "utf8")
{
postData.Append(HttpUtility.Encode(value,
Encoding.UTF8));
}
else
{
postData.Append(value);
}
hasParam = true;
}
}
return postData.ToString();
}
/// <summary>
/// 把响应流转换为文本。

/// </summary>
/// <param name="rsp">响应流对象</param>
/// <param name="encoding">编码方式</param>
/// <returns>响应文本</returns>
static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) {
System.IO.Stream stream = null;
StreamReader reader = null;
try
{
// 以字符流的方式读取HTTP响应
stream = rsp.GetResponseStream();
reader = new StreamReader(stream, encoding);
return reader.ReadToEnd();
}
finally
{
// 释放资源
if (reader != null) reader.Close();
if (stream != null) stream.Close();
if (rsp != null) rsp.Close();
}
}
}
}
[代码] [PHP]代码
/**
* c远程传输工具
*/
public function post_c($,$body,$header,$type='POST'){
$ch = c_init();
c_setopt($ch,COPT_,$);
c_setopt($ch,COPT_HEADER,0);//0只要正文
c_setopt($ch,COPT_TIMEOUT,5);//设置超时时间
c_setopt($ch,COPT_CONNECTTIMEOUT,5);
//将c_exec()获取的信息以文件流的形式返回,而不是直接输出。

c_setopt($ch,COPT_RETURNTRANSFER,1);
//增加header头信息
// array_push($header,'Accept:application/json');
// array_push($header,'Content-Type:application/json');
// array_push($header,'http:multipart/form-data');
if(count($body)>0){
c_setopt($ch,COPT_POSTFIELDS,$body);
}
if(count($header)>0){
c_setopt($ch,COPT_HTTPHEADER,$header);
}
//设置上传文件相关
c_setopt($ch,COPT_FOLLOWLOCATION,true);
c_setopt($ch,COPT_MAXREDIRS,3);//递归
c_setopt($ch,COPT_SSL_VERIFYPEER,false);// 对认证证书来源的检查 c_setopt($ch,COPT_SSL_VERIFYHOST,0);// 从证书中检查SSL加密算法 switch ($type) {
case 'GET':
c_setopt($ch,COPT_HTTPGET,1);
break;
case 'POST':
c_setopt($ch,COPT_POST,1);
break;
case 'PUT':
c_setopt($ch,COPT_CUSTOMREQUEST,'PUT');
break;
case 'DELETE':
c_setopt($ch,COPT_CUSTOMREQUEST,'DELETE');
break;
}
//上传文件相关设置
c_setopt($ch,COPT_ENCODING,'gzip');
c_setopt($ch,COPT_USERAGENT,'SSTS Browser/1.0');
c_setopt($ch,COPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');// 模拟用户使用的浏览器
if(c_errno($ch)){
return c_error($ch);
}
$content = c_exec($ch);
c_close($ch);//关闭c资源,并且释放系统资源
$result = json_decode($content,true);
if(!empty($result)){
return $result;
}else{
return $content;
}
}
[代码] [C/C++]代码
/*
编译指令
$ /opt/sybase/OCS-16_0/bin/cpre64 -m teststu.cp
$ cc -m64 -g -DSYB_LP64 -I. -I/opt/sybase/OCS-16_0/include teststu.c
/opt/sybase/OCS-16_0/include/sybesql.c -L/opt/sybase/OCS-16_0/lib -lsybct64
-lsybtcl64 -lsybcs64 -lsybcomn64 -lsybintl64 -lsybunic64 -rdynamic -ldl -lnsl -lm -o teststu
*/
#include <stdio.h>
/*建立通讯区域*/
EXEC SQL INCLUDE SQLCA;
/*
** These tokens must be declared in a declare section
** because they are used in declare sections below.
*/
EXEC SQL BEGIN DECLARE SECTION;
#define TYPESIZE 13
#define TIDSIZE 6
EXEC SQL END DECLARE SECTION;
#define EOLN '\0'
/*
** Forward declarations of the error and message handlers and
** other subroutines called from main().
*/
void error_handler();
void warning_handler();
int
main(int argc, char *argv[])
{
/*声明宿主变量*/
EXEC SQL BEGIN DECLARE SECTION;
/* storage for login name and password. */
char username[30];
char sname[30];
char password[30];
char server[30];
EXEC SQL END DECLARE SECTION;
/*错误处理*/
EXEC SQL WHENEVER SQLERROR CALL error_handler();
EXEC SQL WHENEVER SQLWARNING CALL warning_handler();
EXEC SQL WHENEVER NOT FOUND CONTINUE;
/*连接到 SQL SERVER 服务器*/
/*
** Copy the user name and password defined in sybsqlex.h to
** the variables declared for them in the declare section.
*/
strcpy(username, "mymotif");
strcpy(password, "wxwpxh");
strcpy(server, "MYMOTIFVOSTRO145480");
EXEC SQL CONNECT :username IDENTIFIED BY :password using :server;
EXEC SQL USE testdb;
EXEC SQL DECLARE c1 CURSOR FOR
SELECT SNAME FROM STUDENT;
EXEC SQL OPEN c1;
printf("name in table student\n");
do {
EXEC SQL FETCH c1 INTO :sname;
if (sqlca.sqlcode != 0) break;
printf( "student name = %s\n", sname );
} while ( 1 );
EXEC SQL CLOSE c1;
return(0);
}
/*错误处理程序*/
/*
** void error_handler()
**
** Displays error codes and numbers from the SQLCA and exits with ** an ERREXIT status.
*/
void
error_handler(void)
{
fprintf(stderr, "\n** SQLCODE=(%ld)", sqlca.sqlcode);
if (sqlca.sqlerrm.sqlerrml)
{
fprintf(stderr, "\n** ASE Error ");
fprintf(stderr, "\n** %s", sqlca.sqlerrm.sqlerrmc);
}
fprintf(stderr, "\n\n");
exit(-1);
}
/*
** void warning_handler()
**
** Displays warning messages.
*/
void
warning_handler(void)
{
if (sqlca.sqlwarn[1] == 'W')
{
fprintf(stderr,
"\n** Data truncated.\n");
}
if (sqlca.sqlwarn[3] == 'W')
{
fprintf(stderr,
"\n** Insufficient host variables to store results.\n");
}
return;
}
[代码] Log4j配置
<!-- 日志jar -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
导入这个包,会引入下面两个jar
<!--spring 的基本jar包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- commons-login是必须的,而且没有依赖,是独立的包 -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>1.1</version>
</dependency>
<dependency><!-- transactionManager实务管理的时候,需要这个jar包 -->
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
</dependency>
<dependency><!--当spring-config.xml文件中配置<aop:aspect >需要加入此包 --> <groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
[文件] 无缝滚动.html ~ 1KB
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
*{
margin: 0;padding: 0;
}
#wrap ul li{
width: 380px;
height: 230px;
float: left;
list-style: none;
}
#wrap ul{
position: absolute;
left: 0;
top: 0;
}
#wrap{
width: 1520px;
height: 230px;
margin: 100px 50px;
position: relative;
background: red;
overflow: hidden;
}
</style>
<script type="text/javascript">
window.onload=function(){
var oDiv=document.getElementById('wrap');
var oUl=oDiv.getElementsByTagName('ul')[0];
var oLi=oUl.getElementsByTagName('li');
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
oUl.style.width=oLi[0].offsetWidth*oLi.length+'px'; setInterval(function(){
if(oUl.offsetLeft<-oUl.offsetWidth/2){
oUl.style.left='0'
}
oUl.style.left=oUl.offsetLeft-2+'px';
},30)
}
</script>
</head>
<body>
<div id="wrap">
<ul>
<li><img src="img/tour1.jpg"/></li>
<li><img src="img/tour2.jpg"/></li>
<li><img src="img/tour3.jpg"/></li>
<li><img src="img/tour4.jpg"/></li>
</ul>
</div>
</body>
</html>
[代码] 获取的参数
//获取的参数
function getParam(paramKey){
//获取当前
var = location.href;
//获取要取得的get参数位置
var get = .indexOf(paramKey +"=");
if(get == -1){
return false;
}
//截取字符串
var getParamStr = .slice(paramKey.length + get + 1);
//判断截取后的字符串是否还有其他get参数
var nextparam = getParamStr.indexOf("&");
if(nextparam != -1){
getParamStr = getParamStr.slice(0, nextparam);
}
return decodeURIComponent(getParamStr);
}
[代码] 添加参数
//添加参数
function addParam(,paramKey,paramVal){
var andStr = "?";
var beforeparam = .indexOf("?");
if(beforeparam != -1){
andStr = "&";
}
return + andStr + paramKey + "="+ encodeURIComponent(paramVal); }
[代码] 删除参数
//删除参数
function delParam(,paramKey){
var Param = .substr(.indexOf("?")+1);
var before = .substr(0,.indexOf("?"));
var next = "";
var arr = new Array();
if(Param!=""){
var ParamArr = Param.split("&");
for(var i=0;i<ParamArr.length;i++){
var paramArr = ParamArr[i].split("=");
if(paramArr[0]!=paramKey){
arr.push(ParamArr[i]);
}
}
}
if(arr.length>0){
next = "?"+arr.join("&");
}
= before+next;
return ;
}
[代码] [C#]代码
#region 防止sql注入式攻击(可用于UI层控制)
///
/// 判断字符串中是否有SQL攻击代码
///
/// 传入用户提交数据
/// true-安全;false-有注入攻击现有;
public bool ProcessSqlStr(string inputString)
{
string SqlStr =
@"and|or|exec|execute|insert|select|delete|update|alter|create|drop|count|\*|ch r|char|asc|mid|substring|master|truncate|declare|xp_cmdshell|restore|backup|net +user|net +localgroup +administrators";
try
{
if ((inputString != null) && (inputString != String.Empty))
{
string str_Regex = @"\b(" + SqlStr + @")\b";
Regex Regex = new Regex(str_Regex, RegexOptions.IgnoreCase);
//string s = Regex.Match(inputString).Value;
if (true == Regex.IsMatch(inputString))
return false;
}
}
catch
{
return false;
}
return true;
}
///
/// 处理用户提交的请求,校验sql注入式攻击,在页面装置时候运行
///
System.Configuration.ConfigurationSettings.AppSettings["ErrorPage"].ToString(); 为用户自定义错误页面提示地址,
/// 在Web.Config文件时里面添加一个 ErrorPage 即可
///
///
///
public void ProcessRequest()
{
try
{
string getkeys = "";
string sqlErrorPage =
System.Configuration.ConfigurationSettings.AppSettings["ErrorPage"].ToString(); if (System.Web.HttpContext.Current.Request.QueryString != null)
{
for (int i = 0; i <
System.Web.HttpContext.Current.Request.QueryString.Count; i++)
{
getkeys =
System.Web.HttpContext.Current.Request.QueryString.Keys[i];
if
(!ProcessSqlStr(System.Web.HttpContext.Current.Request.QueryString[getkeys])) {
System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage + "?errmsg=" + getkeys + "有SQL攻击嫌疑!");
System.Web.HttpContext.Current.Response.End();
}
}
}
if (System.Web.HttpContext.Current.Request.Form != null)
{
for (int i = 0; i < System.Web.HttpContext.Current.Request.Form.Count; i++)
{
getkeys = System.Web.HttpContext.Current.Request.Form.Keys[i]; if
(!ProcessSqlStr(System.Web.HttpContext.Current.Request.Form[getkeys]))
{
System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage + "?errmsg=" + getkeys + "有SQL攻击嫌疑!");
System.Web.HttpContext.Current.Response.End();
}
}
}
}
catch
{
// 错误处理: 处理用户提交信息!
}
}
#endregion
#region 转换sql代码(也防止sql注入式攻击,可以用于业务逻辑层,但要求UI层输入数据时候进行解码)
///
/// 提取字符固定长度
///
///
///
///
public string CheckStringLength(string inputString, Int32 maxLength)
{
if ((inputString != null) && (inputString != String.Empty))
{
inputString = inputString.Trim();
if (inputString.Length > maxLength)
inputString = inputString.Substring(0, maxLength);
}
return inputString;
}
///
/// 将输入字符串中的sql敏感字,替换成"[敏感字]",要求输出时,替换回来
///
///
///
public string MyEncodeInputString(string inputString)
{
//要替换的敏感字
string SqlStr =
@"and|or|exec|execute|insert|select|delete|update|alter|create|drop|count|\*|ch r|char|asc|mid|substring|master|truncate|declare|xp_cmdshell|restore|backup|net +user|net +localgroup +administrators";
try
{
if ((inputString != null) && (inputString != String.Empty))
{
string str_Regex = @"\b(" + SqlStr + @")\b";
Regex Regex = new Regex(str_Regex, RegexOptions.IgnoreCase);
//string s = Regex.Match(inputString).Value;
MatchCollection matches = Regex.Matches(inputString);
for (int i = 0; i < matches.Count; i++)
inputString = inputString.Replace(matches[i].Value, "[" + matches[i].Value + "]");
}
}
catch
{
return "";
}
return inputString;
}
///
/// 将已经替换成的"[敏感字]",转换回来为"敏感字"
///
///
///
public string MyDecodeOutputString(string outputstring)
{
//要替换的敏感字
string SqlStr =
@"and|or|exec|execute|insert|select|delete|update|alter|create|drop|count|\*|ch r|char|asc|mid|substring|master|truncate|declare|xp_cmdshell|restore|backup|net +user|net +localgroup +administrators";
try
{
if ((outputstring != null) && (outputstring != String.Empty))
{
string str_Regex = @"\[\b(" + SqlStr + @")\b\]";
Regex Regex = new Regex(str_Regex, RegexOptions.IgnoreCase);
MatchCollection matches = Regex.Matches(outputstring);
for (int i = 0; i < matches.Count; i++)
outputstring = outputstring.Replace(matches[i].Value,
matches[i].Value.Substring(1, matches[i].Value.Length - 2));
}
}
catch
{
return "";
}
return outputstring;
}
#endregion
******************************************************************************* /
int inputf(
const char *format,
...
)
/*
* stdin 'INPUT', 'F'ormatted
*/
{
va_list arglist;
char buffer[1024];
int retval = 0;
//_VALIDATE_RETURN((format != NULL), EINVAL, -1);
va_start(arglist, format);
retval = vsprintf_s(buffer, sizeof(buffer), format, arglist);
input(buffer);
return retval;
}
#ifdef __cplusplus
} /* extern "C" */
#endif /* __cplusplus */
以C编程方式向控制台输入数据
[代码] 按名称排列 "abc","qqt","12pp", "p2p","hello world"
#include <stdio.h>
#include <string.h>
void paiShu(char dat[][200],unsigned char cnt) {
char str[200];
for (int y=0; y<cnt-1; y++)
{
for (int x=0; x<cnt-y-1; x++)
{
if (strcmp(dat[x], dat[x+1])>0)
{
strcpy(str, dat[x]);
strcpy(dat[x], dat[x+1]);
strcpy(dat[x+1],str);
}
}
}
}。

相关文档
最新文档