当前位置:  技术问答>linux和unix

更正: UNIX 文件操作 极限问题.

    来源: 互联网  发布时间:2016-01-29

    本文导语:  /*******************************************         用于将文件中 XXXXXXX加密的手机号码部分解密出来。 要处理的文件记录格式: @@XXX ... XPPP ... Pn @:空格。n:'n'。P:为20位的其它内容。 处理后的文件记录格式:XXX ... Xn...

/*******************************************   
    
用于将文件中 XXXXXXX加密的手机号码部分解密出来。

要处理的文件记录格式: @@XXX ... XPPP ... Pn @:空格。n:'n'。P:为20位的其它内容。
处理后的文件记录格式:XXX ... Xn 。
即将两个的前导空格和后20位的其它内容去除,并将号码解密出来,后写回本文件,且覆盖原记录。
执行环境 HP_UNIX .

file_name: store_Decipher
creat_date: 20070615     
author:           
    有些信息需要读配制文件,小弟在此写死了,另见宏定义部分。
小弟遇到的问题是: 1、replace_PhoneNum() 中的 strncpy() 不能取指定的N位。
                   2、Memory fault(coredump),不知哪里漏的。
                   3、若把第一个fseek()注释去则运行则死循环(写回文件时)。
********************************************/


#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


#define begin_bit       59
#define sys_Length      344L
#define KEY         "DFIOD"
#define MY_SUCCEED 0
#define MY_FAIL         1 
#define PHONE_LENGTH    11


/********************************************************** 
function: replace_PhoneNum
description: 获取手机号码部分
Input: Record: 记录
       Systemtype: 计费类型
       sys_length: 
Output: Record: 记录
Return: MY_SUCCEED: 成功 
others:
***********************************************************/

int replace_PhoneNum( char * Record, long sys_length )
{
FILE * fp;
int len;
int i;
char fmtBill[ 128 ];
char record_Bill[ 512 ];
char filed_Name[ 32 ];
char Begin_bit[ 8 ];
char Len[ 8 ];
char key[ 8 ];
char record_tmp[ 768 ];


strcpy( key, KEY );


for( i = 0; i 

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3