// addpath.cpp : Defines the entry point for the console application.
//用dir /b *.mp3>1.txt命令获取一个目录下面的所有mp3文件的文件名,然后再通过
//此程序给每个文件名加一个绝对路径
//目的是为了生成realserver的g2slta播放列表
//此程序不是很完善,但基本上可用
#include "stdafx.h"
#include <stdio.h>
#define MAX 10000
int main(int argc, char* argv[])
{
//需要添加的绝对路径
char *dir="D://muisc//";
FILE *file;
char c;
//文件字节数
int total=0;
//用来存放整个文件
char content[MAX];
if((file=fopen("1.txt","r"))==NULL)
printf("无法打开文件/n");
int index=0;
//把文件读到内存中去
while((c=fgetc(file))!=EOF)
{
content[index]=c;
total++;
index++;
}
fclose(file);
content[index]='/0';
total++;
index=0;
while((c=content[index])!='/0')
{
//碰到换行符就增加一个绝对路径
if(c==10)
{
char *dir2=dir;
//后移,为绝对路径字符串腾出位置
for(int i=total-1;i>index;i--)
content[i+9]=content[i];
//插入绝对路径
while((c=*dir2)!='/0')
{
content[index+1]=c;
index++;
dir2++;
total=total+9;
}
}
index++;
}
if((file=fopen("1.txt","w"))==NULL)
printf("无法打开文件/n");
index=0;
//写文件
while((c=content[index])!='/0')
{
fputc(c,file);
index++;
}
fclose(file);
return 0;
}
输入文件列表:
六色彩虹(1).mp3
关心妍-负担不起(韩文版).mp3
凹凸.mp3
加速度.mp3
勇气.mp3
友谊之光.mp3
可惜他有女朋友.mp3
叶蓓-幸福深处.mp3
在他乡.mp3
坚持到底 .mp3
大长今主题曲.mp3
天下无双天啦地啦(王菲&梁朝伟).mp3
天天看到你.mp3
天空-蔡依林.mp3
输出文件列表:
D:/music/六色彩虹(1).mp3
D:/music/关心妍-负担不起(韩文版).mp3
D:/music/凹凸.mp3
D:/music/加速度.mp3
D:/music/勇气.mp3
D:/music/友谊之光.mp3
D:/music/可惜他有女朋友.mp3
D:/music/叶蓓-幸福深处.mp3
D:/music/在他乡.mp3
D:/music/坚持到底 .mp3
D:/music/大长今主题曲.mp3
D:/music/天下无双天啦地啦(王菲&梁朝伟).mp3
D:/music/天天看到你.mp3
D:/music/天空-蔡依林.mp3
编程心得:
本来是希望有函数直接可以在文件某个指定的位置插入一个字符串,并且把当前位置后面的字符串都后移,结果
发现文件操作函数的插入要么是在文件末尾,要么是可以在当前位置插入字符串,但是会覆盖原有的内容。所以
就自己写了这个程序,把文件先读到内存中修改,然后写回文件。