精华内容
下载资源
问答
  • C语言读取txt文件中的汉字乱码解决问题
    千次阅读
    2022-03-28 12:28:52

    出现此问题的主要原因是txt默认的编码方式是UTF-8,而在Windows的cmd界面下的编码一般都是GBK

    解决办法:

    1.打开txt文件,选择文件,选择另存为,将编码改为ANSI(ANSI是本机默认编码,即Windows的cmd界面下的编码)

            

    2.在程序内使用fopen("文件名","w")的方式进行创建txt文件,以此方法创建的txt文件编码默认为ANSI

    更多相关内容
  • C语言读写txt文件编译时出现乱码

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

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

    展开全文
  • C语言读取txt文件 文字部分乱码

    千次阅读 2021-05-24 04:26:51
    帮忙看下 读取出来的文字全部乱码 数字正常define _CRT_SECURE_NO_WARNINGSincludeincludevoid readFile(char*** p, int* line){int totallines = 0;char buf[1024] = { 0 };FILE* fp = fopen("C:\\Users\\Desktop\\...

    帮忙看下 读取出来的文字全部乱码 数字正常

    define _CRT_SECURE_NO_WARNINGS

    include

    include

    void readFile(char*** p, int* line)

    {

    int totallines = 0;

    char buf[1024] = { 0 };

    FILE* fp = fopen("C:\\Users\\Desktop\\123.txt", "r");

    if (fp == NULL)

    {

    return -1;

    }

    while (fgets(buf,1024,fp))

    {

    totallines++;

    }

    printf("%d", totallines);

    //设置指针在文件第一个位置

    fseek(fp, 0, SEEK_SET);

    char** tmp = (char**)malloc(sizeof(char*) * totallines);

    for (int i = 0; i < totallines ; i++)

    {

    memset(buf, 0, 1024);

    fgets(buf, 1024, fp);

    tmp[i] = (char*)malloc(strlen(buf) + 1);

    memset(tmp[i], 0, strlen(buf) + 1);

    strcpy(tmp[i], buf);

    }

    *p = tmp;

    *line = totallines;

    fclose(fp);

    }

    void test() {

    char** p = NULL;

    int lines = 0;

    readFile(&p, &lines);

    for (int i = 0; i < lines; i++) {

    printf("%s", p[i]);

    free(p[i]);

    p[i] = NULL;

    }

    //释放文件内容

    free(p);

    }

    int main()

    {

    test();

    }

    回答

    你是在windows下测试的吧,windows默认gbk编码,所以导致c语言打开文件默认是以gbk的形式打开的,估计你的文件是用utf8保存的,所以导致了乱码,随便用文本工具转成gbk格式即可,还有你的readFile函数返回值声明成void咋还return -1,这啥操作我没懂。

    1b24d3cd9f80832be7393e793cc96781.png

    展开全文
  • 今天在做c语言系统类题时,用fwrite写入文件,打开文件发现乱码,百度尝试了几种办法都没解决。

    今天在做系统类题时,用fwrite写入文件,打开文件发现乱码,百度了一下尝试了几种办法都没解决。
    如图所示在这里插入图片描述

    第一种:认为“fwrite是将内存中的数据不经转换直接写入文件,所以文件中保存的是二进制形式,所以看到乱码”,然后尝试用fprintf写入文件,结果还是乱码。
    第二种:是改变文件编码方式,将编码方式UTF-8改为ASNI编码方式,结构还是乱码。
    最终仔细观察发现,乱码几乎都是在两个数据项之间,第一个数据无论是数字还是文字都不会乱码,所以我觉得编码和读写方式应该都没问题,然后我想起会不会是定义数组时没有赋初始值,导致数组有脏数据,然后我将数组赋值0后就没乱码了。
    下面一行是数组赋初始值后。
    在这里插入图片描述

    展开全文
  • do{ printf("输入--1:新建 2:插入 3:查询 4:删除 5:数据输入到文件 0:退出\n"); printf("请选择功能:"); scanf("%d",&choice); switch(choice){ case 1: p=create_f_list(p);break; case 2: insert_friends_...
  • //写入数据代码#include#defineSIZE2typedefstructstu1//学生信息表{charname[10];intnum;intage;charaddr[15];...//写入文件函数voidma...//写入数据代码#include#define SIZE 2typedef struct stu1 /...
  • C语言中用 fwrite 向文件写入结构体时出现乱码的解决方法,由于fwrite是用于二进制文件的,所以打开直接写入文件是会出现乱码,这时需要一个中间文件来存储临时数据,就是先将数据存储在一个临时文件,然后从这个...
  • C语言在读取txt类型文件中的汉字字符串出现乱码的解决办法 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj 一、前言 当我们在练习文件这一章节时,因为需要从文件中读取...
  • if((fp=fopen("D:\\stu1.txt","at+"))==NULL) { printf("Cannot open file,strike any key exit!"); getch(); exit(1); } printf("please input the student's information:\n"); printf("input student's num:\n")...
  • C语言读取文件txt中的汉字出现乱码的解决方案

    千次阅读 多人点赞 2021-06-12 21:05:57
    C语言课程设计要求使用文件,然后在我进行文件操作的时候发生了一点小小的意外,读写文件中的汉字显示的居然是乱码。 经过我的一番查找之后发现居然是txt编码方式的问题。 为使计算机支持更多语言,通常使用 0x80~0...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼void save1() //将工具的基本信息保存至文件:"工具基本信息.file"{FILE*fp; //定义fp是一个指向FILE类型数据的指针变量...
  • {printf("\n\n—————库存文件不存在!请创建"); return 0; } while(feof(fp)!=1) { fread(&book[i],sizeof(STUDENTS),1,fp); if(book[i].num==0) break; else i++; } fclose(fp); ...
  • C语言文件输入输出读取中文TXT文件出现乱码

    万次阅读 多人点赞 2018-03-17 19:18:37
    今天在实现一个倒序输出文件的程序时测试了英文数字和中文,唯独中文出现了乱码,源码如下//倒序显示文件的内容 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #define CNTL_Z '\032' //文件...
  • fwrite() 函数用来向文件写入块数据,它的原型为: size_t fwrite ( void * ptr, size_t size, size_t count, FILE *fp ); 参数说明: ptr 为内存区块的指针,它可以是数组、变量、结构体等。fread() 中的 ptr ...
  • 在最近我遇到了一个问题当我使用fwrite写数据进文件时,直接打开文件出现了乱码,以下是我的文档显示 我的输入是 清华大学 2020 32 这个时候我们发现每两个数据项之间都多了一些随机字符,虽然不影响读取数据,但是...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼/*主函数*/main(){charch1,ch2,ch4;do{ system("cls");printf("\t\t************************************\n");printf("\t\t************************************\n");...
  • if ((fp=fopen("test.txt","w"))==NULL)/*打开只写的文本文件*/ { printf("cannot open file!"); exit(0); } printf("hello!"); if(num==0) printf("对空!"); else for( i=0;i { fputc(q->data[i],fp); printf(" ...
  • 使用的是顺序表写的小系统,请问用fprintf写入txt文件后,可以成功写入但是写入的数据后面出现了乱码怎么解决 运行结果: 部分代码如下:
  • C语言读入txt文件中的中文字符输出乱码

    千次阅读 多人点赞 2021-01-14 13:35:27
    在使用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; } 如果输出的都...
  • 我的目的是用过这段程序分别向一个txt文本写入信息和向另一个txt文本以二进制形式写入信息,但是运行过后两个txt内容一样,有些信息是正确的有些是乱码,应该二进制录入信息的文本中内容和第一个文本一样,代码如下...
  • 用fwrite()写入时,打开.txt文件会出现乱码。 fprintf()函数用法 https://blog.csdn.net/u012707739/article/details/77806780 fputs()函数用法 http://c.biancheng.net/view/238.html 问题 1.为什么会出现...
  • C语言文件读入乱码问题|Debug

    千次阅读 多人点赞 2019-12-23 14:13:46
    上一次实验困扰了我很久的问题,Debug了不长记性,这次又出现了呜呜呜 ...我的两个txt文件一个是UTF-8编码,一个是ANSI编码: 另存为的时候,改为ANSI就可以解决问题了,至于为什么…我还得再思考思考 ...
  • c语言怎么把结构体数组写入txt文件

    千次阅读 2020-12-23 11:39:06
    满意答案qiaxiaoyu2013....你用二进制形式将student.txt打开而fwrite也是将内存中的数据不经转换直接写入文件,所以文件中保存的是二进制形式,当然看到乱码了。你试试:if((fp1=fopen("student.txt","w"))==NULL){p...
  • 总会有人不明白为什么写入的内容会乱码。 先引入一些知识; *文件有二进制文件,文本文件。 二进制文件是按内存写入的; 文本文件是按格式写入的;* 因此二进制文件用来写入一些不同类型的数据时 就容易出现 将下一...
  • C语言结构体数组写入文件的问题

    千次阅读 2020-12-23 11:39:05
    C语言结构体数组写入文件的问题 siukjk LV12 2016-05-21 information;将结构体写入文件fclose(p);char b[2].a.h"i++){printf("n");}!=EOF)putchar(ch);}/。,len=sizeof(struct node);i#include&quot:\,无关问题...
  • 程序输入之后,记事本只显示name、addr,而int型数据均为乱码,请问如何解决这一问题?? #include #define SIZE 3 struct Student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; ...
  • fwrite写入文件乱码问题

    万次阅读 2018-09-05 15:07:49
    参考下面这篇文章(使用fprintf写入文件) http://c.biancheng.net/cpp/html/2936.html 使用fprintf 和 fscanf 代替 fwrite fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,473
精华内容 2,189
关键字:

c语言写入txt文件乱码

友情链接: pro_003.rar