假设字符数组为 p[i],读取文件里面的字符直到结束为止。这个代码应该是怎么的。求大神啊,不会啊,~~~~(>_<)~~~~
å¯ä»¥éè¿fgetcå½æ°ï¼å°å符读ååºæ¥ï¼å¹¶èµå¼å°æ°ç»ç对åºä½ç½®ä¸ã
fgetc声æå¨stdio.hä¸ï¼å ¶åå为
int fgetc(FILE *fp);
åè½ä¸ºä»æå¼çæ件fpä¸è¯»åä¸ä¸ªå符ï¼å¹¶è¿åã
å½è¯»åæåæ¶ï¼è¿å读åå°çå符çasciiç å¼ï¼å¦åè¿åEOFã
以ä¸æ¯é个读åå符ï¼åäºå符æ°ç»ï¼ç´å°è¯»å®æ´ä¸ªæ件çä¾åã
#include <stdio.h>int main()
{
char buf[10240];//å®ä¹ä¸ä¸ªè¶³å¤å¤§çå符æ°ç»åæ件æ°æ®ã
int c;//临æ¶åéã
int cnt = 0; //æ è®°ç®å读å°å 个åèã
FILE *fp;//æ件æéã
fp = fopen("in.txt", "r"); //æå¼æ件ã
while(1)
{
c = fgetc(fp); //读ä¸ä¸ªåèã
if(c == EOF) break; //å°æ件尾ï¼éåºå¾ªç¯ã
buf[cnt] = c;//èµå¼å°å符æ°ç»ä¸ã
cnt ++;//读å°çå符å¢å ä¸ä¸ªã
}
fclose(fp);//å ³éæ件ã
return 0;
}
1、首先打开Dev-C++软件,单击文件---->另存为,保存。
2、在保存文件对话框中,将保存类型选择为C,文件名为输出宽字符。
3、首先,定义的,如下图所示。
4、接着,定义名。定义一个宽字符类型的变量wstr,类型用wchar_t表示。
5、提示输入宽字符型变量,在键盘输入任意的宽字符。最后,输出宽字符变量,用wprintf命令实现输出。
6、运行程序,在屏幕输入任意的宽字符,按下就会输出对应的宽字符。
本回答被网友采纳一、对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数:
1.字符读写函数 :fgetc和fputc
2.字符串读写函数:fgets和fputs
3.数据块读写函数:freed和fwrite
4.格式化读写函数:fscanf和fprinf
使用fscanf("%c",&c)即可读取文本当中的字符。
二、例程:
#include<stdio.h>#define F_PATH "d:\\myfile\\file.dat"
char s[1000];//字符数组
int i=0;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回错误代码
while(fscanf(fp,"%c",s+i)!=EOF) printf("%c",s[i++]); //从文本中读入到字符数组当中并在控制台打印出来
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}
int main()
{
char p[10240] ; //数组空间要足够大,超过文件中的字符数才可以
FILE *fp ;
fp=fopen("text.txt" , "r");//文件名自己改一下
if ( fp )
{
int i=0;
int ch=0;
while( !feof(fp) )
{
ch=fgetc(fp);
if ( ch==EOF )
break ;
p[i]=ch ;
i++;
}
p[i]=0;//串结束符。
fclose(fp);
}
return 0;
}追问
ch不是字符型的吗?
追答有什么问题?
追问你定义的那个是整型的 我想知道是弄错了还是本来就是这样的
追答哦没错的,你自己运行试试
fgetc()函数的返回值是int的,当到文件尾时,返回EOF((int)-1)。
好像是没有区别的
本回答被提问者采纳#include <stdio.h>
#include <stdlib.h>
int main(){
int c;
FILE *in, *out;
in=fopen("in.txt","r");
out=fopen("out.txt","w");
while((c=fgetc(in)) != EOF)
fputc(c,out);
fclose(in);
fclose(out);
exit(0)
}
// 以上程序的目的是从 in.txt 中读取每个字符写入 out.txt 文件中
// 要想将读取的字符传入数组中那么需要定义一个足够大的数组空间比如P[100]
// 然后while((c=fgetc(in)) != EOF) P[i++]=c;追问
十分感谢