将一个文本文件内容反序打印出来(包含中文时)
2009-04-29 09:03
323 查看
原贴:http://topic.csdn.net/u/20090428/16/29e6157d-df3c-4762-9b3d-230b205b0828.html
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h> #include <assert.h> #include <errno.h> char* read_file(char*filename); char* text_reverse(const char* textptr); int main() { char* str=read_file("text.txt"); /* text.txt是当前目录下的文件,内容有中文英文 */ char* ptr=text_reverse(str); printf("%s/n",ptr); return 0; } char* read_file(char*filename) { FILE* fp; long len; char* buf; if((fp=fopen(filename,"rb")) == NULL) { perror("fail to open file!"); exit(1); } fseek(fp,0,SEEK_END); len=ftell(fp); rewind(fp); buf=(char*)malloc(len*sizeof(char)+1); fread(buf,len,1,fp); *(buf+len)='/0'; fclose(fp); return buf; } char* text_reverse(const char* textptr) { static char* revptr; char* ptr1; char* ptr2; int textlen; textlen=strlen(textptr); ptr2=(char*)malloc(textlen*sizeof(char)+1); assert(ptr2!=NULL); ptr1=(char*)(textptr+textlen-1); revptr=ptr2; while(textlen--) { if(*ptr1 < (unsigned )128) *ptr2=*ptr1; else { *ptr2=*(ptr1-1); ptr2++; *ptr2=*ptr1; ptr1--; } ptr2++; ptr1--; } *ptr2='/0'; return revptr; }
相关文章推荐
- 7、定义一个文件输入流,调用read(byte[] b) 方法将exercise.txt文件中的所有内容打印出来(byte数组的大小限制为5,不考虑中文编码问题)。
- 定义一个文件输入流,调用read(byte[] b)方法将exercise.txt文件中的所有内容打印出来(byte数组的大小限制为5)。
- 编写一个程序,从标准输入一行一行地读取文本,并完成如下任务:如果文件中有两行或更多行相邻的文本内容相同,那么就打印其中一行,其余行不打印。
- 采用多线程和生产者消费者模式来实现对于一个目录以及所有子目录下的文件内容的搜索,打印出包含指定关键字的行.
- 写一个程序,分析一个文本文件中各个词出现的频率,并且把频率最高的10个词打印出来。文本文件大约是30KB~300KB大小。
- 写一个程序,分析一个文本文件中各个词出现的频率,并且把频率最高的10个词打印出来。文本文件大约是30KB~300KB大小
- IO流 FileInputStream(字节流) FileReader(字符流能打印出中文)把文件中内容读出来
- 定义一个文件输入流,调用 read(byte[] b)方法将 exercise.txt 文件中的所有内容打印出来 (byte 数组的大小限制为 5)。
- 打开一个txt文件,读取里面的内容并打印出来
- 定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)
- IO流 字符流(FileReader)读数据 把文件本身中的内容读出来(字符流能打印出中文)
- loner_li 机试题 一个文本文件含有如下内容,分别表示姓名和成绩:张三 90 ..提供用户一个控制台界面,允许用户输入要查询的姓名,输入姓名并且按回车以后,打印出此人的成绩...
- 在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码?
- 一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
- 将一个txt里的A和B谈话内容获取出来并分别保存到A和B的txt文件中
- 替换一个文本文件中的指定内容
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- 在一个JS文件中包含中文字符串通过innerHTML输出后中文乱码
- 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
- 此文本文件包含的数据无法放置在一个工作表中 gb2312