| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:文件名字替换问题
只看楼主 加入收藏
clcqifeng
Rank: 2
等 级:论坛游民
帖 子:101
专家分:17
注 册:2012-2-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
文件名字替换问题
怎么把FILE *fip =fopen(filename, "rb");      如果那个打开的文件名是abcd.txt    如何把保存的文件名前面不变后面变成abcd.enc

例如
FILE *fip =fopen(filename, "rb");
FILE *fop =fopen(XXXXXXX, "wb");

下面那个XXXX要是上面打开那个文件名的后4位改成.enc   
搜索更多相关主题的帖子: 如何 
2012-02-28 15:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
對字符串做搜索替換是編程的基本功了

授人以渔,不授人以鱼。
2012-02-28 17:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>
#include <conio.h>

// 函数原型
char* Trim(char* str, char ch);
char* ChangeExtendName(char* FileName, char* Extend);

// 程序入口
void main(void)
{
    char FileName[FILENAME_MAX] = "abcd.txt";
    ChangeExtendName(Trim(FileName, ' '), ".enc");
    printf_s(FileName);
    _getch();
}

// 删除字符串str的前导和结尾指定字符,返回修改后的字符串
// 注意:操作结果改变原字符串
char* Trim(char* str, char ch)
{
    if (*str == '\0')
    {
        return str;
    }

    char* p = str + strlen(str) - 1;
    while (*p == ch)
    {
        *p-- = '\0';
    }
    p = str;
    while (*p++ == ch)
    {
        ;    // 空循环
    }
    return (p - 1);
}

// 修改文件FileName的扩展名为Extend
// 注意:操作结果改变原字符串
char* ChangeExtendName(char* FileName, char* Extend)
{
    char* p = strrchr(FileName, '.');
    if (p != NULL)
    {
        *p = '\0';
    }
    return strcat(FileName, Extend);
}

授人以渔,不授人以鱼。
2012-02-28 18:28
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:10 
的确就是个搜索替换的事。
T版 其实应该别给代码,这种小程序对初学者来说练手正合适。
2012-02-28 21:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 4楼 pangding
那是,讓他自己練吧。

授人以渔,不授人以鱼。
2012-02-28 21:14
clcqifeng
Rank: 2
等 级:论坛游民
帖 子:101
专家分:17
注 册:2012-2-16
收藏
得分:0 
回复 5楼 TonyDeng
=_=你那个没看懂·貌似也不适合。。。  
  filename[strlen(filename)-1]='t';
  filename[strlen(filename)-2]='x';
  filename[strlen(filename)-3]='t';
  filename[strlen(filename)-4]='.';

用这个修改了..
2012-02-29 11:20
快速回复:文件名字替换问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029934 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved