当前位置:首页 » 编程语言 » c语言怎么读出原有的字
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么读出原有的字

发布时间: 2022-09-24 20:35:06

‘壹’ c语言中怎么读取文件中的字符并更改

流程如下:
1:fopen(old_file,"r");打开原文件
2:fopen(new_file,"w");建立临时文件
3:使用fread或者其他你用着顺手的函数读取原文件内容
4:判断是否到文件结尾,若是,则跳至第8步, 否则执行第5步
5:判断读取到的内容是否是你要修改的
6:若是,则修改后写入临时文件;若否, 则不做修改写入临时文件.
7:跳回第3步
8:关闭FILE指针
9删除原文件, 将临时文件重命名为原文件名.
结束.

‘贰’ c语言中怎样才能读出文件中的所有字符

用fread函数 可以整块读取。
用fgets函数 可以整行读取
用fgetc函数,可以单个字符读取。

根据需求,使用对应函数,同时配合循环
就可以读取整个文件了。
比如 如果fp为文件指针。
那么
int c;
while((c = fgetc(fp)) != EOF);
这样就可以遍历整个文件了。

‘叁’ 在C语言中怎么将文件中文字读出。。谢了哦

#include<stdio.h>
int main()
{
char str[10];
freopen("in.txt","r",stdin);
scanf("%s",str);
printf("%s\n",str);
fclose(stdin);
return 0;
}
你只要使用了freopen,剩下的就和以前的写法一样。该怎么写就怎么写。只要在源文件的目录下建一个in.txt的文件,把要读入的数据放进去就行了

‘肆’ 如何用c语言读取txt中的一个字

有个比较严重的错误

首先fscanf中用%s去接收数据的时候是以回车或者空格做为界定标准的
也就是说文本文件中中 刚好是四字节数据
比如:
abcd(下面是回车或者空格)
的时候那你的代码刚刚好没问题

但是如果 四个字节刚刚好不足四个字节,那么被送入ch数组的就是不足4字节的数据

假如超过四字节,那你的代码就有溢出的可能了。

如果你要从文件接收四字节数据

如果你纯粹只需要四个字的数据那你可以这样做:
fscanf(ft,"%c%c%c%c",ch[0],ch[1],ch[2],ch[3]);

目前我想不到其他的方法

‘伍’ C语言中如何读取文件中的汉字并将其存入数组中

  1. 建立一个足够大的字符型数组;

  2. 以文本方式读打开原文件;

  3. 按字符方式读取文件,每读一个字符判断一下是否为汉字编码(<0),若是则存入字符数组,不是则跳过读取下一个字符,直到文件结束。

设原文件在当前目录下,名为123.txt,举例代码如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
chars[1000],ch;
FILE*fp;
inti=0;
if((fp=fopen("123.txt","r"))==NULL){
printf("Openthefilefailure... ");
exit(0);
}
while((ch=fgetc(fp))!=EOF)
if(ch<0)
s[i++]=ch;
fclose(fp);
s[i]='';
printf("%s ",s);//打出来看看
return0;
}

注:原文件内容是“fjkslauti我rophk134是2315学jkal 习C语言jks新da;jus手jfkdsla”

输出是“我是学习语言新手”

‘陆’ C语言或C++如何读写汉字,比如一个文本中有很多汉字,如何读取后全部显示出来

#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
if((fp=fopen("D:\\123.txt","r"))==NULL)
{
printf("Error!\n");
exit(0);
}
//假设d盘的123.txt中有四个汉字:好好学习,下面的部分输出第一个汉字
char ch[3];
int i;
for(i=0;i<2;i++)
ch[i]=getc(fp);
ch[i]='\0';
puts(ch);
//假设d盘的123.txt中有四个汉字:好好学习,下面的部分输出全部汉字但是这样操作有缺陷:那就是如果有三个汉字一个字母的话,输出将发生错误。你可以将123.txt中的内容改为:学习过C ,你试一试就知道了
rewind(fp);
char ch2[9];
for(i=0;i<8;i++)
ch2[i]=getc(fp);
ch2[i]='\0';
puts(ch2);
fclose(fp);
return 0;
}
原来的代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *out;
if((out=fopen("d:\\123.txt","r"))==NULL)
{
printf("Error!\n");
exit(0);
}
char ch;
ch=getc(out);
while(!feof(out))
{
putchar(ch);
ch=getc(out);
}
fclose(out);
return 0;
}
如果是汉字处理的话 其实很复杂的 虽然tattackor说的方法也可行 但是好像并不严格 其实之前我也这样 想过 具体参考我空间里的文章:
http://hi..com/mayadong7349/blog/item/d7f062ab6d9656f61f17a217.html
这是去年写的 但是更好的方法这方面一直没有进展
同时 如果txt中是汉字和字符混排的话,如果还定义一个char ch[3]来读取 未免有点太……
C语言中还有专门的数据类型 来处理汉字 我研究一下 如果有所进展告诉你
附:存放一个汉字的话用char ch[2*1+1]
存放3个汉字的话用char ch[2*3+1]
因为一般上一个汉字占用两个字节

‘柒’ c语言 怎么读文件中的汉字

字符读写函数fgetc和fputc
字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个字符。

1) 读字符函数fgetc
fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:
字符变量=fgetc(文件指针);
例如:
ch=fgetc(fp);
其意义是从打开的文件fp中读取一个字符并送入ch中。

对于fgetc函数的使用有以下几点说明:
在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。
读取字符的结果也可以不向字符变量赋值。例如:fgetc(fp); 但是读出的字符不能保存。
在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该位置指针将向后移动一个字节。 因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。

【例13-1】读入文件c1.doc,在屏幕上输出。#include<stdio.h>main(){ FILE *fp; char ch; if((fp=fopen("d:\\jrzh\\example\\c1.txt","rt"))==NULL){ printf("\nCannot open file strike any key exit!"); getch(); exit(1); } ch=fgetc(fp); while(ch!=EOF){ putchar(ch); ch=fgetc(fp); } fclose(fp);}
本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方式打开文件“d:\\jrzh\\example\\ex1_1.c”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第10行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每个文件末有一结束标志EOF)就把该字符显示在屏幕上,再读入下一字符。每读一次,文件内部的位置指针向后移动一个字符,文件结束时,该指针指向EOF。执行本程序将显示整个文件。

2) 写字符函数fputc
fputc函数的功能是把一个字符写入指定的文件中。函数调用的形式为:
fputc( 字符量, 文件指针 );
其中,待写入的字符量可以是字符常量或变量,例如:
fputc('a',fp);
其意义是把字符a写入fp所指向的文件中。

对于fputc函数的使用也要说明几点:

被写入的文件可以用写、读写、追加方式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。
每写入一个字符,文件内部位置指针向后移动一个字节。
fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个EOF。可用此来判断写入是否成功。

‘捌’ C语言如何读取文件中的内容一直读到结尾,每次读5个字(包括标点符号)

先要打开文件,使用fopen,fread读取文件内容,判断文件尾的方法我忘掉了,躯体你查查,读到内存buffer中,再显示出来,释放内存空间,关闭文件。基本上就这些步骤。

‘玖’ c语言怎样从文件中读出原有的字符串并显示在屏幕上

是这样的,你要先用定义一个文件指针,FILE *p_file=open("文件名",“打开文式”),创建文件,然后对文件操作,把内容存进去,记出来时,要先定义一个字符串变量去读,