當前位置:首頁 » 編程語言 » 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("文件名",「打開文式」),創建文件,然後對文件操作,把內容存進去,記出來時,要先定義一個字元串變數去讀,