| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2561 人关注过本帖, 1 人收藏
标题:急!怎么用C语言编写程序 类似于打印文件输出最长文件名最短文件名
只看楼主 加入收藏
QAZQ
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-7-8
收藏(1)
 问题点数:0 回复次数:9 
急!怎么用C语言编写程序 类似于打印文件输出最长文件名最短文件名
急急急!怎么用C语言编写程序 类似于打印文件 输出最长文件名最短文件名 是个挺小的程序 只要判断出来长短 然后输出 显示最长的文件夹名和最短的 但是还需要有人名 人名可以不用输出 谢谢了
搜索更多相关主题的帖子: 打印 文件 输出 最长 文件名 
2017-07-08 16:14
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
这个似乎要用到文件操作的库函数~表示基础不够~看有没有高手回……~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-07-08 18:05
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
回复 2楼 九转星河
听起来很像求最大最小值额,你不会?

剑栈风樯各苦辛,别时冰雪到时春
2017-07-08 18:15
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 3楼 林月儿
是具体搜索文件名C不会~我可知道你用Java弄是没有问题的~

PS~其实可以上网搜搜~不过近期久久应该不会用到那方面的知识还是先放放了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-07-08 18:34
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 楼主 QAZQ
以下是引用QAZQ在2017-7-8 16:14:28的发言:

急急急!怎么用C语言编写程序 类似于打印文件 输出最长文件名最短文件名 是个挺小的程序 只要判断出来长短 然后输出 显示最长的文件夹名和最短的 但是还需要有人名 人名可以不用输出 谢谢了



题目说是文件~一楼却是说文件夹~~在这方面我也不怎么在行~还是不多说点什么了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-07-08 18:42
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
简单了弄了一下,试了,把程序放在c盘根目录下比较合适
#include <stdio.h>
#include <string.h>
#include <direct.h>
#include <stdlib.h>

main()
{
    char path[50],*p,max[50],min[50],a[50];
    FILE *fp;
    printf("\t请输入文件夹路径:\n");
    scanf("%s",path);
    for(p=path;*p!='\0';p++)
    {
        if(*p=='\\')*p='/';
    }
    _chdir(path);
    system("dir /b > c:\\b.txt");
    fp=fopen("c:\\b.txt","r");
    fscanf(fp,"%s",max);
    strcpy(min,max);
    while(!feof(fp))
    {
        fscanf(fp,"%s",a);
        if(strlen(a)>strlen(max))strcpy(max,a);
        if(strlen(a)<strlen(min))
        {
            strcpy(min,a);
            min[strlen(a)+1]='\0';
        }
    }
    printf("最长文件名:%s\n",max);
    printf("最短文件名:%s",min);
   
}
2017-07-08 20:12
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
以下是引用九转星河在2017-7-8 18:34:35的发言:

是具体搜索文件名C不会~我可知道你用Java弄是没有问题的~

PS~其实可以上网搜搜~不过近期久久应该不会用到那方面的知识还是先放放了~


我只是随口一说,没有深入分析。不过你是大神肯定可以的。期待神作

剑栈风樯各苦辛,别时冰雪到时春
2017-07-08 22:12
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 7楼 林月儿
http://m.

网上搜了个是C++的~还是可以看看6楼的代码~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-07-08 22:21
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
/* windows */
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <Shlobj.h>

int _GetDir(char *Path)
{
    char *Title = "选择文件夹";
    BROWSEINFO bi;
    bi.hwndOwner = 0;
    bi.pidlRoot = NULL;
    bi.pszDisplayName = Path;
    bi.lpszTitle = Title;
    bi.ulFlags = BIF_RETURNONLYFSDIRS;
    bi.lpfn = NULL;
    bi.iImage = 0;
    bi.lParam = 0;
    PIDLIST_ABSOLUTE pIDList;
    pIDList = SHBrowseForFolder(&bi);
    if (pIDList)
    {
        SHGetPathFromIDList(pIDList, Path);
        return 1;
    }
    return 0;
}

int main(void)
{
    char FileExtensions[PATH_MAX];
    if (!_GetDir(FileExtensions))
        return 0;
    if (FileExtensions[strlen(FileExtensions)-1] != '\\')
        strcat(FileExtensions, "\\");
    printf("文件夹:%s\n", FileExtensions);
    strcat(FileExtensions, "*.*");

    WIN32_FIND_DATA FindData;
    HANDLE hFindFile = FindFirstFile(FileExtensions, &FindData);
    if (hFindFile == INVALID_HANDLE_VALUE)
        return 0;
    int len, maxlen=0, minlen=PATH_MAX;
    char maxname[PATH_MAX], minname[PATH_MAX];
    do
    {
        if (FindData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY)
        {
            len = strlen(FindData.cFileName);
            if (len > maxlen)
            {
                maxlen = len;
                strcpy(maxname, FindData.cFileName);
            }
            else if (len < minlen)
            {
                minlen = len;
                strcpy(minname, FindData.cFileName);
            }
            printf("%s\n", FindData.cFileName);
        }
    }while (FindNextFile(hFindFile, &FindData));
    FindClose(hFindFile);
    if (maxlen != 0)
    {
        printf("\n最长文件名:%s\n", maxname);
        printf("最短文件名:%s\n", minname);
    }
}
2017-07-08 22:54
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
文件操作属于系统编程,不属于C语言
2017-07-09 07:51
快速回复:急!怎么用C语言编写程序 类似于打印文件输出最长文件名最短文件名
数据加载中...
 
   



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

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