要求:将0-99存储到txt中,之后全部读取出来,并且打印出来。
在此次代码实现过程中,遇到以下问题:
- 将0,1,2,3,4……98,99存入到txt后,实际存储的数字会变为字符数组0,1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3,1,4,1,5…… 9,8,9,9,整个数组的长度由之前的[100]变为[190].只读情况下,fopen的模式选择“r”。使用fseek设置读取的位置,此次需要读取全部内容,因此设置首位开始,偏移为0.使用fread读取全部内容,也就是[190],因此设置step×Count为1×190由字符数组输出整型数组时,采用buffer[i]-"0"的方式实现。
#include#include int main() { int i,j,k; char buffer[190]; FILE *fp; fp = fopen("file.txt","w+"); int array1[100]; for(i=0;i<100;i++) { array1[i]=i; } for(j=0;j<100;j++) { printf("%dt",array1[j]); fprintf(fp,"%d",array1[j]); } fclose(fp); fp = fopen("file.txt","r"); fseek(fp, 0, SEEK_SET); fread(buffer, 1,190,fp); for(i=0;i<190;i++) { k=buffer[i] - '0'; printf("%d", k); printf("n"); } fclose(fp); return 0; }
运行结果如下:



