一个用C实现的URL解码的程序
#include <stdio.h>
#include <string.h>
/*
* decode encd with URL, the result saved to decd.
* return point to be decoded string.
* auth: baisoo email:baisoo@msn.com
*/
char *decode( char *encd, char decd[] );
int main( int argc, char *argv[] )
{
if( argc < 2 )
return -1;
char decoded[80];
decode( argv[1], decoded );
printf( "%s\n", decoded );
return 0;
}
char *decode( char *encd, char decd[] )
{
if( encd == NULL )
return (char* )0;
int i, j=0;
char *cd = encd;
char p[2];
unsigned int num;
for( i = 0; i < strlen( cd ); i++ )
{
memset( p, '\0', 2 );
if( cd[i] != '%' )
{
decd[j++] = cd[i];
continue;
}
p[0] = cd[++i];
p[1] = cd[++i];
sscanf( p, "%x", &num );
sprintf(p, "%c", num );
decd[j++] = p[0];
}
decd[j] = '\0';
return decd;
}
相关文档:
Delphi 与 C/C++ 数据类型对照表
Delphi数据类型C/C++
ShorInt
8位有符号整数
char
Byte
8位无符号整数
BYTE,unsigned short
SmallInt
16位有符号整数
short
Word
16位无符号整数
unsigned short
Integer,LongInt
32位有符号整数
int,long
Cardinal,LongWord/DWORD
32位无符号整数
unsigned long
Int6 ......
使用 gcc 在 ubuntu 下 编译 一个 C程序 :
第一步骤:打开 中端 (这个 知道吧?)
输入 sudo gedit no.c (no.c为C文件名字)
sudo 表示你输入 ......
函数调用栈的实现。可用于实现简单的脚本解释器。
声明:
#pragma once
const int BUFFERSIZE = 1024;
const int growfactor = 2;
// this stack is used as call stack.
class TStack{
private:
size_t size; // the stack length
size_t pos; // the stack top position
cha ......
哈哈!有幸在某网站发现这篇文章,读罢,觉得蛮有道理,发来大家一起共勉之
总是被同学们问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。
一家之言,欢迎拍砖哈。
1、可以考虑先学习C.
大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望 ......