c语言批量重名,批量重命名代码

本文目录一览:

C语言,关于局部变量重名的问题。

对于这道题你可以由外向内这样分。

单个文件中分为3个级别的空间:

函数外一个空间:全局变量,具有静态存储,从定义出到这个文件结尾范围的函数可以使用

函数内:自动变量,离开函数就释放

复合体(大括号内):自动变量,离开大括号就自动释放

说明:大致上就是这3部分,内和外有同名的,内将屏蔽外部变量。但是在同一级上的同名将导致出现多次定义的错误

多个文件涉及:只能有一个定义的外部链接

(c++的话还有类和名称空间)

你的第一个例子2个x的定义都是在main函数内的同一级上,重复定义。

第二个例子int x=3只能在大括号中生存,而且屏蔽了x=1的那个定义。

用C语言批量更改文件名

#include stdio.h

#include sys/types.h

#include sys/stat.h

#include unistd.h

#include dirent.h

#include string.h

#include iconv.h

#include errno.h

/*int to_iconv(char *in,size_t in_bytes,char *out,size_t out_bytes,

const char *from,const char *to)*/

int to_iconv(char *in,char *out,size_t out_bytes,const char *from,const char *to)

{

iconv_t cd;

size_t in_bytes=strlen(in);

//size_t out_bytes;

if((cd=iconv_open(to,from)) == (iconv_t)-1)

{

perror(“iconv_open”);

return -1;

}

if(iconv(cd,in,in_bytes,out,out_bytes) == -1)

{

perror(“iconv”);

return -1;

}

iconv_close(cd);

return 0;

}

void read_and_iconv(char *path,const char *from,const char *to)

{

DIR *dirp;

struct dirent *dir;

struct stat buf;

char temp[512]; //用于保存转换后的文件名称

if((dirp=opendir(path)) == NULL) //读取文件夹

{

perror(“opendir”);

return;

}

chdir(path); //进入到该文件夹内部

while(dir=readdir(dirp)) //读取该文件夹下所有文件

{

if((strcmp(dir-d_name,”.”) == 0) || (strcmp(dir-d_name,”..”) == 0))

//过滤掉.以及..文件夹,不然会死循环的

continue;

bzero(temp,sizeof(temp));

to_iconv(dir-d_name,temp,sizeof(temp),from,to); //进行编码转换

rename(dir-d_name,temp); //进行重命名

printf(“rename %s to %s\n”,dir-d_name,temp);

stat(temp,buf);

if(S_ISDIR(buf.st_mode)) //判断当前读取的文件是否为文件夹

{

read_and_iconv(temp,from,to); //如果是则递归处理

chdir(“..”); //处理完成后一定要记得返回上一层目录哦,不然其它文件就无法处理了

}

}

closedir(dirp);

}

int main(int argc,char **argv)

{

read_and_iconv(argv[1],argv[2],argv[3]);

/*第一个参数是要转换的文件夹所在的文件夹名称

*第二个参数是文件名称所使用的编码(这里为GBK)

*第三个参数是要转换成何种编码(这里为UTF-8)

*/

return 0;

}

关于c语言查询账号重名的一道题

#includestdio.h

#includestdlib.h

#includestring.h

int main()

{

char a[50];

char b[10][10] = { { “Alice” }, { “Bob” }, { “Lucky” }, { “Kitty” }, { “Tim” }, { “Lucy” }, { “Jim” }, { “Helena” } };

int c[1000], x, y, z, i, j;

while (1){

scanf(“%s”, a);

if (!strcmp(a, “END”))

break;

y = 0;

for (i = 0; i  10; i++)

{

z = strcmp(a, b[i]);

if (z == 0)

y = 1;

}

if (y == 1)

printf(“NO”);

else

printf(“Yes”);

printf(“\n”);

}

system(“pause”);

return 0;

}

c语言中局部变量可以同名么?

在C语言中,相同作用域范围的局部变量不可以同名。所以,在不同作用域下,可以出现局部变量同名的情况。

1 在不同函数中。

函数不同,局部变量完全无关,自然可以使用相同的名字。

2 在同一函数中,但作用域不同。

局部变量的作用域是定义位置,到所在大括号结束。

所以只要两个局部变量属于不同的大括号中,就可以同名。

比如

void func()

{

    int a;

    while(1)

    {

        int a;

    }

    for(;;)

    {

        int a;

    }

}

这里面,第一个a的作用域包含了第二个和第三个,而后两个之间作用域不相关。三个a分别属于三个不同的大括号,可以同名。

c语言如何一次改变多个相同的参量名字

你说的这些是C++的函数重载,C++是可以的,但C语言不支持函数重载

比如:

void fun(int n) 与int fun(int n)就是名称相同,返回类型不同,参数相同

void fun(int n) 与int fun(int n,int s)就是名称相同,返回类型不同,参数类型相同个数不同

int fun(int n) 与int fun(int n,int s) 名称相同,返回类型相同,参数类型相同个数不同

所以这些在用C语言编程时都会报错,就是不行

如何用c语言进行文件的批量重命名

这个简易的 按照你的方法改名的程序

在UNIX下测试可用

如果想在windows下用的话 可以用dev c++编译

#include stdio.h

#include unistd.h

#include dirent.h

int main(int argc, char **argv)

{

DIR *dirp;

struct dirent *dirt;

char dir_name[100];

int file_count=1; //file_count为计数.

if (argc != 2){

printf(“argument miss\n”);

exit(1);

}

if ((dirp = opendir(argv[1])) ==NULL){

printf (“open dir %s failed\n”,argv[1]);

exit(1);

}

chdir(argv[1]);

while ( (dirt = readdir(dirp)) != NULL){

if ((strcmp(dirt-d_name,”..”) !=0) (strcmp(dirt-d_name,”.”)!=0)){

memset(dir_name, 0, sizeof(dir_name));

strcpy(dir_name, dirt-d_name);

sprintf(dir_name + strlen(dirt-d_name), “_%d”, file_count++);

if (rename(dirt-d_name, dir_name) 0){ //dir_name 为新的命名

printf(“rename failed\n”);

exit(1);

}

}

}

return 0;

}

原理挺简单 你输入一个文件夹作为参数 然后程序就打开这个文件夹遍历这个文件夹里的文件,把这个文件的名字取出来后面加上 “_计数” 用rename 重新命名就行了.

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/197552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-03 20:04
下一篇 2024-12-03 20:04

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29

发表回复

登录后才能评论