fscanf 换行fscanf 换行
请教如何从文件中读取字符串,遇到换行不结束,谢谢!
我在写一个词法扫描器,老师要求从文件中读取字符并进行扫描
我用fscanf函数,但是遇到换行就读取结束,只能对文件中第一行字符进行扫描
请高手指教,有没有什么办法能读取文件中的所有字符并放在字符数组里
例如:
test.txt文件内容如下:
sadfefwq213213%^@#$342 4121
1234 4!@#fds1234
[[21ffda9
想读取这个文件的所有字符,存放在pro[max]里.
我的源代码如下:
void read()
{
FILE *fp;
int k;
fp=fopen("test.txt","r");
for(k=0;k<max-1;k++)
{
fscanf(fp,"%c",&pro[k]);
}
pro[k]='\0';
fclose(fp);
}
而经过操作之后,pro[max]只包含文件中第一行的所有字符,所以我纠结了一下午....
希望高手解答!!! 不胜感激! 谢谢!!
回答回答3:
#include <stdio.h>
#include "string.h"
int main(void)
{
FILE * stream;
char buf[1024];
memset(buf,0x00,sizeof(buf));
if ((stream = fopen("test.txt", "r")) == NULL)
{
fprintf(stream,"Cannot open output file.\n");
return 1;
}
fread(buf, 1024, 1, stream);
printf("%s\n", buf);
fclose(stream);
return 0;
}
用这个可以实现,具体可以去参考下fread函数2014-07-01keepmoving168
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-21829-1.html
多数都是自作孽不可活”更是明白话
其实我也觉得这个确实还不错
没有一发炮弹击穿主装甲