首页 > 其他 > 详细

C 实现 创建多个txt文件,并以自然数列命名,然后将产生的十进制数据写入txt文档

时间:2019-12-18 18:44:17      阅读:112      评论:0      收藏:0      [点我收藏+]

首先:以自然数列为txt命名。

这在C++中很容易实现,之间诶to_string(int num)+".txt"就可以,但是在C中没有string,只有char,那怎么办?

这里需要将自然数转化成 char,准确的说是char数组。代码实现:

char* Int2String(int num,char *str)//10进制 
{
    int i = 0;//指示填充str 
    if(num<0)//如果num为负数,将num变正 
    {
        num = -num;
        str[i++] = -;
    } 
    //转换 
    do
    {
        str[i++] = num%10+48;//取num最低位 字符0~9的ASCII码是48~57;简单来说数字0+48=48,ASCII码对应字符‘0‘ 
        num /= 10;//去掉最低位    
    }while(num);//num不为0继续循环    
    str[i] = \0;    
    //确定开始调整的位置 
    int j = 0;
    if(str[0]==-)//如果有负号,负号不用调整 
    {
        j = 1;//从第二位开始调整 
        ++i;//由于有负号,所以交换的对称轴也要后移1位 
    }
    //对称交换 
    for(;j<i/2;j++)
    {
        //对称交换两端的值 其实就是省下中间变量交换a+b的值:a=a+b;b=a-b;a=a-b; 
        str[j] = str[j] + str[i-1-j];
        str[i-1-j] = str[j] - str[i-1-j];
        str[j] = str[j] - str[i-1-j];
    }     
    return str;//返回转换后的值 
}

好了,这一步做好,文件命名就可以解决了。

下面是将十进制数写入txt,这里要区分两个函数:

fprintf(fp, "%d", buffer); 是将格式化的数据写入文件
fprintf(文件指针,格式字符串,输出表列);

fwrite(&buffer, sizeof(int), 1, fp);是以二进位方式写入文件
fwrite(数据,数据类型大小(字节数),写入数据的最大数量,文件指针);

fprintf是带格式化的数据写入文件,十进制就是十进制,打印效果和写入文件的效果相同。

fwrite是自然数是以二进制的方式写入文件,char不变。

希望可以帮到疑惑的你!

C 实现 创建多个txt文件,并以自然数列命名,然后将产生的十进制数据写入txt文档

原文:https://www.cnblogs.com/zhibei/p/12061215.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!