精华内容
下载资源
问答
  • C语言读写TXT文件

    千次阅读 多人点赞 2020-08-28 20:55:53
    TXT文件的读: 首先是文件指针: FILE *file; 其次是文件的打开函数: file=fopen(" "," "); (其中第一个双引号里是文件地址,第二个是打开类型) 打开类型汇总: r 以只读方式打开文件,该文件必须存在。 r+ 以...

    我发现这样的博客不多,在B站上看了一个小时的视频,终于get了这个技能,又可以水一篇博客了!

    TXT文件的读:

    首先是文件指针和打开文件的函数:

    FILE *file;
    file=fopen(" "," ");
    

    (其中第一个双引号里是文件地址,文件地址必须用 \ \ 隔开,不然会出错,第二个是打开类型)

    打开类型汇总:

    • r 以只读方式打开文件,该文件必须存在。
    • r+ 以可读写方式打开文件,该文件必须存在。
    • rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。
    • w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
    • w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
    • a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
    • a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
    • wb 只写打开或新建一个二进制文件;只允许写数据
    • wb+ 读写打开或建立一个二进制文件,允许读和写。
    • ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

    举个例子就能更明白了:

    #include<stdio.h>
    int main()
    {
    	FILE *file;
    	file = fopen("C:\\Users\\lenovo\\Desktop\\prog.txt","r");
    	if(file==NULL)//如果未打开就提示读取错误
    	{
    	printf("read error");
    	} 
    	else
    	{
    	 printf("Yes");
    	 
    	}
    	 fclose(file)//文件关闭函数
     } 
    

    上面的例子就是读取文件的第一步打开文件。
    完成了这一步,才能继续学习下面的读取信息。
    想要读数据就要用函数:fgetc()
    那么我们在上边的代码中加入:

    char ch=0;
    ch =fgetc(file);
    printf("%c",ch);
    

    就可以输出TXT文件中的第一个字符了。
    如果想要读取很多的字符
    那么可以将char ch=0;改成char ch[]用for循环读取。
    在这里我补充一个经常会用到的读取方法吧。

    #include<stdio.h>
    int main()
    {
    	char ch[5];
    	char sh=0;
    	int i;
    	FILE *file;
    	file = fopen("C:\\Users\\lenovo\\Desktop\\prog.txt","r+");
    	if(file==NULL)
    	{
    		printf("read error");
    	 } 
    	 else
    	 {
    		sh =fgetc(file);
    	 	while(!feof(file))//常用循环,这样可以将文件所有内容读取出来
    		 {
    		 	printf("%c",sh);
    		 	sh=fgetc(file);
    		 } 
    	 }
    	 fclose(file);
     } 
    

    TXT文件的写:

    char sh;
    sh=fputc('a',file);
    

    上面的函数就是写入数据的重要函数
    如果写入的是单个字符是单引号,多个字符是双引号,其他数据因情况而改变。
    如果没有写入成功sh就是-1,因此可以用if语句判断有没有成功。
    在这里我仍然给大家一个实用的方法和函数:

    在这里插入代码片
    #include<stdio.h>
    
    typedef struct //定义一个结构块
    {
    	char name[24];
    	char ID[20];
    } STU;
    int main()
    {
    	STU class[5] =
    	{
    		{"zs","10086"},		
    		{"ss","10002"},
    		{"zz","10000"},
    	};  //调用结构快并填充数据。
    	char ch[5];
    	char sh=0;
    	int i;
    	FILE *file;
    	file = fopen("C:\\Users\\lenovo\\Desktop\\prog.txt","r+");
    	if(file==NULL)
    	{
    		printf("read error");
    	} 
    	else
    	{
    		fwrite(&class[0],sizeof(STU),1,file); 
    		//fwrite()函数同样是非常实用的函数
    		//fwrite(块地址,块大小,快数量,填入文件变量名),四个参数
    	}
    	fclose(file);
     } 
    

    如果大家还有什么不懂得地方,强烈推荐B站一个视频:
    点击观看

    展开全文
  • C语言课程设计要求使用文件,然后在我进行文件操作的时候发生了一点小小的意外,读写文件中的汉字显示的居然是乱码。 经过我的一番查找之后发现居然是txt编码方式的问题。 为使计算机支持更多语言,通常使用 0x80~0...

    C语言课程设计要求使用文件,然后在我进行文件操作的时候发生了一点小小的意外,读写文件中的汉字显示的居然是乱码。
    经过我的一番查找之后发现居然是txt编码方式的问题。

    为使计算机支持更多语言,通常使用 0x80~0xFFFF 范围的 2 个字节来表示 1 个字符。比如:汉字 ‘中’ 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。
    不同的国家和地区制定了不同的标准,由此产生了 GB2312、GBK、GB18030、Big5、Shift_JIS 等各自的编码标准。这些使用多个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文Windows操作系统中,ANSI 编码代表 GB2312编码;在繁体中文Windows操作系统中,ANSI编码代表Big5;在日文Windows操作系统中,ANSI 编码代表 JIS 编码。 [1] [2]
    不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。ANSI编码表示英文字符时用一个字节,表示中文用两个或四个字节。
    ANSI编码作为中国以及部分亚太地区的多字符编码格式,Windows系统和OS X都是提供原生支持的。但是即便如此,许多国外开发者仍然在开发笔记或者文字录入类应用的时候将ANSI编码完全忽略,只加入全球通用的UTF-8编码。
    --摘自百度百科

    在这里插入图片描述

    而我的txt文件默认编码方式是UTF-8,所以导致出现乱码的现象。
    在这里插入图片描述
    我们只要把txt文件的编码方式转换成ANSI就能正确的读写汉字了!

    展开全文
  • C语言读写txt文件编译时出现乱码

    千次阅读 2021-01-24 21:51:31
    文本文件默认的编码形式是utf-8 马赛克部分是中文 将编码形式改成ascii就好了。文件 -> 另存为->

    文本文件默认的编码形式是utf-8
    在这里插入图片描述
    马赛克部分是中文
    在这里插入图片描述
    在这里插入图片描述
    将编码形式改成ascii就好了。文件 -> 另存为->
    在这里插入图片描述

    展开全文
  • C语言读入txt文件中的中文字符输出乱码

    千次阅读 多人点赞 2021-01-14 13:35:27
    **记录下自己在文件操作上遇到的常见问题**输出乱码的情况fopen函数读写的相关操作 输出乱码的情况 在使用C语言时我们一般用fopen函数打开文件,如下 #include<stdio.h> int main() { FILE *fp; char a[10];...

    **记录下自己在文件操作上遇到的常见问题**

    输出乱码的情况

    在使用C语言时我们一般用fopen函数打开文件,如下

    #include<stdio.h>
    int main()
    {
    	FILE *fp;
    	char a[10];
    	fp=fopen("temp.txt","r");
    	fscanf(fp,"%s",a);
    	printf("%s\n",a);
    	return 0;
    }
    

    如果输出的都是乱码的话
    打开对应的temp.txt文本文件,左上角选择文件将其另存为,最下面的编码将UTF-8改为ANSI并保存,再输出就可以正常输出文字了(注意不要超出内存空间)。

    fopen函数读写的相关操作

    函数fopen的一些操作应用

    fopen("***.txt","w");
    

    使用fopen函数打开文件时,如果想在原有的基础上继续写入数据,使用aw会先清空文档中的原始数据,而a是在文档的末尾追加写入数据,指针指向文档末尾。
    也可使用r+,r+w+都是读写模式,不同的是w+会先清空文件。

    展开全文
  • C语言读取txt文件

    2021-03-02 09:47:45
    #include<fstream> #include<iomanip> using namespace std; std::ifstream Infile;...Infile.open("D:/name.txt"); while (Infile) { getline(Infile, strLine); if (strLine.empty()) break; }
  • 这是一个读取写入txt文件的一个代码,我读取汉字之后fprintf到txt文件里是正常的,但是用printf输出时就变成了乱码。 求大神帮助!!!! 以下是代码和运行后样子。 07/23/1595513451_164747.png) #include ...
  • C语言文件输入输出读取中文TXT文件出现乱码

    万次阅读 多人点赞 2018-03-17 19:18:37
    今天在实现一个倒序输出文件的程序时测试了英文数字和中文,唯独中文出现了乱码,源码如下//倒序显示文件的内容 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #define CNTL_Z '\032' //文件...
  • C语言如何读取txt文件第一步添加头文件写函数完整的代码 第一步添加头文件 #include <stdio.h> 写函数 使用的API是 FILE * __cdecl fopen(In_z const char * _Filename, In_z const char * _Mode); //文件...
  • C语言读取txt文件并统计字符数

    千次阅读 2020-03-30 21:32:06
    在源文件目录下读取test.txt文件 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_NUM 1024 int main(void){ char buf[MAX_NUM]; //字符缓冲区 FILE *fp; ...
  • C语言读取txt类型文件中的汉字字符串出现乱码的解决办法 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj 一、前言 当我们在练习文件这一章节时,因为需要从文件读取...
  • 问题:输出中文字符乱码 今天从txt中文到字符串数组里输出发现中文是乱码,原本以为是读入方式的问题,结果是文件本身的问题,令人抓狂!!!!!!
  • date.txt","r"); if(fp==NULL) { printf("Fail!"); exit(1); } else { while((c=getc(fp))!=EOF) { putchar(c); for(i=0,k=0;a[i]!='\0&#...
  • C语言如何读取.txt文件并且读取其中的字符串

    千次阅读 多人点赞 2020-04-27 14:28:33
    如果在桌面中有一个huffman-coding.txt文件,其内容为: In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly used for lossless data ...
  • c++实现txt文件读写,并解决txt编码格式为UTF-8显示乱码问题。
  • c语言—从文件读取一个结构体数组(txt文件)

    千次阅读 多人点赞 2020-03-16 15:47:34
    c语言读写操作很多,我给大家介绍一种我常用的方法。 //读取文件 File *fp=fopen("wxm.txt","r"); //写入文件 File *fp=fopen("wxm.txt","w"); //关闭文件 fclose(fp); ????:关闭文件一般紧接return 0之前 下面是...
  • C语言Json库

    2018-09-28 13:54:33
    C语言的json库,包含了2个.c文件和2个.h文件,简单的引用,就可以使用json格式化数据。
  • #include <stdio.h> #include <stdlib.h> #include <string.h> #define path "C:/Users/ZS/Desktop/test.ini" ...//实现读取配置文件的一行,当行的开头为#时则跳过这行 void re...
  • mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov 如果是中文 就显示汉字月 month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02 ddd ...
  • c语言如何读取以逗号分隔的txt文件

    千次阅读 2019-06-05 15:05:34
    c语言如何读取以逗号分隔的txt文件 #c语言如何读取以逗号分隔的txt文件,如: "站南路","" “工业路”,"" “”,"" “”,"" “人民路”,"" “”,"" “”,"" “”,"" 代码: while (!feof(File)) { fscanf(File, ...
  • 代码 #include int main(int argc,char** argv) { float a[3][3]; int i,j; FILE* fp=fopen("a.txt","r"); //打开文件 if(fp==NULL) { printf("无文件");
  • c语言实现读取txt文件内容到结构体数组中

    万次阅读 多人点赞 2016-07-19 15:40:38
    #include #include #define N 10 typedef struct { char work_ID[5]; char name[20]; char phone_nu[12]; }student; int main(int argc, char *argv[]) { student st[N];
  • C语言读写xml文件

    千次阅读 2019-03-15 15:11:57
    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...
  • c\c++如何解决读取txt(文本文件中文乱码现象

    千次阅读 多人点赞 2020-03-12 21:02:35
    最近遇到了这个问题,在网上找了一圈大神们的解决方法。 有些真的不是很理解。 现在来分享一下我找到的解决方法,希望对大家有用。 方法: 其实解决起来很方便 ...ok 现在读取TXT文件中的中文就不会乱码了。 ...
  • C语言读取excel文件

    千次阅读 2020-04-22 14:36:21
    将Excel文件另存为*.csv文件(是和txt一样,以二进制文本形式存储,它是以都逗号分隔符做个单元格内容的划分),这里要特别注意在另存为时,会有两个关于csv的选项,如果需要在C语言中,读取中文,需要选择 CSV(逗号...
  • C语言中对文件中文内容进行读出

    万次阅读 多人点赞 2018-03-29 12:58:34
    //对文件中文内容进行读出 按字符方式读取文件,每读一个字符判断一下是否为汉字编码(&lt;0),若是则存入字符数组,不是则跳过读取下一个字符,直到文件结束。 #include "stdio.h" #include "...
  • 读取txt文件比较简单: FILE* conf_file= fopen(conffile, "r"); char conf_line[512]; while (fgets(conf_line, sizeof(conf_line), conf_file)!=NULL) { //获取了一个字符串conf_line //对字符串进行解析 } ...
  • C语言读取XML文件

    千次阅读 2018-12-06 09:34:09
    .C文件 #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; #define MAX 600 int main() { FILE *fp; char a[MAX] = { '0' }; int i=0,j=0,k=0; fp = fopen...
  • f = fopen("test.txt", "r+"); while ((ch = getc(f)) != EOF) { fseek(f, i, SEEK_SET); putc(~ch, f); i++; fseek(f, i, SEEK_SET); count++; } fclose(f); printf("文件操作已经完成\n"); ...
  • C语言读取中文汉字

    万次阅读 多人点赞 2018-08-05 11:48:33
    一般的来说,一个汉字占两个字节,数字和字母都占一个字节,但是有一点是,汉字的两个字节如果转换成整型都是负数,也就是说,用按字节读取文件,然后判断字节的正负,如果一个字节对应的整型是负的,那么一连读取两...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,218
精华内容 10,487
关键字:

c语言读取txt文件汉字

c语言 订阅