(老师上课讲的)
把一个文件中所有大写字母转换成小写字母
//交换两个数,不用临时变量
void main()
{
int i = 10;
int j = 20;
//i = i + j; //30
//j = i - j; //10
//i = i - j; //20
i = i ^ j;
j = i ^ j;
i = i ^ j;
printf("%d %d\n",i,j);
}
//求一个二进制数中1的个数
int fun(int x)
{
int count = 0;
while (x != 0)
{
if (x % 2 == 1)
{
count ++;
}
//x >>= 1;
x /= 2;(位移运算比除法运算好实现)
}
return count;
}
复制一个二进制文件
void main()
{
//char *str = "Hello World";
FILE *fr = fopen("c:\\给我一首歌的时间.mp3","rb");
FILE *fw = fopen("c:\\给我一首歌的时间_new.mp3","wb");
{
//char *str = "Hello World";
FILE *fr = fopen("c:\\给我一首歌的时间.mp3","rb");
FILE *fw = fopen("c:\\给我一首歌的时间_new.mp3","wb");
//#define EOF (-1)
//EOF //end of file
//char ch;
char buff[1024*512];//0.5MB
int res;
//EOF //end of file
//char ch;
char buff[1024*512];//0.5MB
int res;
while ((res = fread(buff,1,1024*512,fr)) != 0)
{
fwrite(buff,1,res,fw);
}
{
fwrite(buff,1,res,fw);
}
}
读出一个文件的大小
void main()
{
FILE *fr = fopen("c:\\给我一首歌的时间.mp3","rb");
{
FILE *fr = fopen("c:\\给我一首歌的时间.mp3","rb");
fseek(fr,0,SEEK_END);
printf("%ld\n",ftell(fr));
}
//c:harry.txt 所有大写字母转换为小写
void main()
{
//char *str = "Hello World";
FILE *fr = fopen("c:\\harry.txt","r");
FILE *fw = fopen("c:\\harry_new.txt","w");
void main()
{
//char *str = "Hello World";
FILE *fr = fopen("c:\\harry.txt","r");
FILE *fw = fopen("c:\\harry_new.txt","w");
//#define EOF (-1)
//EOF //end of file
char ch;
while((ch = fgetc(fr)) != EOF)
{
if (ch >= 'A' && ch <= 'Z')
{
ch += 32;
}
fputc(ch,fw);
}
}