C语言关于文件操作的问题:下面是代码:

C\u8bed\u8a00\u6587\u4ef6\u64cd\u4f5c\u95ee\u9898\u770b\u4e0b\u9762\u4ee3\u7801\u3002\u3002

\u90a3\u4e2a\u53c2\u6570\u662f\u6307\u4f60\u8fd0\u884c\u8fd9\u4e2a\u7a0b\u5e8f\u7684\u65f6\u5019\u8f93\u5165\u7684\u53c2\u6570
\u6bd4\u5982\u8fd0\u884c\u8bb0\u4e8b\u672c\u7684\u65f6\u5019
notepad.exe 1.txt
\u8fd9\u6837\u8bb0\u4e8b\u672c\u7684\u7b2c\u4e00\u4e2a\u53c2\u6570\u5c31\u662f1.txt

\u8981\u81ea\u5df1\u8f93\u5165\u9700\u8981\u7528scanf, \u518d\u53bb\u5b66\u4e60\u4e0b\u518d\u6765\u95ee\u5427,\u9a9a\u5e74

\u5c06\u5149\u6807\u79fb\u52a8\u5230\u8981\u5220\u9664\u7684\u884c,\u8fde\u7eed\u63092\u4e2a\u952e\u76d8\u4e0a\u7684"d"\u5b57\u6bcd,\u5373"dd",\u6b64\u884c\u5c31\u88ab\u5220\u9664\u4e86..\u64cd\u4f5c\u5b8c\u6bd5\u540e,\u8f93\u5165:wq \u4fdd\u5b58\u9000\u51fa\u5373\u53ef.

fscanf(pfile,"%d",&i);
使用fscanf对文件进行读取时,如果用%d进行格式,就是要读取整型,并把值赋值给变量i
这同scanf一样,遇到空白字符或者回车时停止读入,这样,第一次读入就是123456789123456
这远远超过Int定义的最大值(32位机,2^31-1),所以将进行截取,会出现负数,而
123456在其范围,能正确读入。
可以改成fscanf(pfile,"%1d",&i);用1个宽度进行约束,这样一次只读取一个字符。

int i; 整型 int的取值范围?123456789123456太大了吧

把int 换成char %d换成%c
变成负数是因为普通32位系统 int 四个字节 所以123456就是 0x0001e240 结果正常
而123456789123456 超过了int的读取范围 所以产生了负数

应该定义成字符数组,int 的范围是-32768~32767,你的数据超过了。

  • 鍏充簬涓閬c璇█鐨 鏂囦欢鎿嶄綔鐨棰樼洰
    绛旓細include "stdio.h"struct SC{ char index[5]; /*搴忓彿*/ char std_n[10]; /*瀛﹀彿*/ int scores[5]; /*鍚勭鎴愮哗*/ int avg_sc; /*骞冲潎鎴愮哗*/ int total_sc; /*鎬绘垚缁*/ };int main(void){ FILE *fp_in,*fp_out;struct SC sc;int i;fp_in = fopen("std0001.txt...
  • 鍏充簬C璇█鏂囦欢鎿嶄綔闂
    绛旓細include"stdio.h"#include"stdlib.h"int main(void){ int n,i,number; FILE *fp; printf("Please enter the number you want:"); scanf("%d",&n); fp=fopen("word.txt","r"); for(i=0;i<9;i++) //杈撳嚭鍓9涓 { number=fgetc(fp); if(number<n+48) //璇诲彇鐨...
  • C璇█鎬庢牱瀵鏂囦欢杩涜鎿嶄綔
    绛旓細鎴戜滑杩愮敤C璇█缂栧啓绋嬪簭鐨勬椂鍊欙紝缁忓父闇瑕佸鏂囦欢杩涜鎿嶄綔銆傞偅涔堣濡備綍瀹炵幇鍛紵涓嬮潰灏忕紪缁欏ぇ瀹跺垎浜竴涓嬨1銆佹墦寮Sublime Text杞欢锛屾柊寤轰竴涓C璇█鏂囦欢锛岀劧鍚庡鍏璇█搴擄紝濡備笅鍥炬墍绀 2銆佹帴涓嬫潵鏂板缓C璇█鐨main鍑芥暟锛屽鏂囦欢鐨勬搷浣閮戒細鍦╩ain鍑芥暟涓繘琛岋紝濡備笅鍥炬墍绀 3銆佹帴涓嬫潵璋冪敤C璇█鐨刦open鍑芥暟瀵规枃浠惰繘琛...
  • 涓閬C璇█鍏充簬鏂囦欢鎿嶄綔鐨棰 棰樼洰鎰忔濇垜鎳傚氨鏄湪鐢诲湀鐨剋hile寰幆澶勬湁鐐...
    绛旓細鎵浠ユ渶鍚巉il1.txt 鏄唴瀹逛负YOU PLAN TO FAIL 16涓瓧绗 鐒跺悗绗簩涓惊鐜殑鎰忔濇槸濡傛灉file1娌℃湁鈥滆杩"鏂囦欢鐨缁撳熬(娉ㄦ剰鏄濊杩団滐紝鑰屼笉鏄"璇诲埌"),灏变粠 file1涓涓涓瓧绗︼紝鐒跺悗灏*str2鍐欏叆file2.txt 杩欓噷璁插綋file1.txt璇诲埌鏈鍚庝竴涓狶鐨勬儏鍐 濡傛灉鏈変竴涓瓧绗﹀彉閲c 涓攃=fgetc(in),鍗虫鏃禼==...
  • C璇█鏂囦欢鎿嶄綔闂
    绛旓細include<stdio.h> include<ctype.h> int main(int argc, char* argv[]){ FILE *fp = fopen("1.txt", "r+");char c;while((c = fgetc(fp)) != EOF){ fseek(fp, -1L, SEEK_CUR);fputc(toupper(c), fp); // 杞垚澶у啓鍚庡湪鍐欏洖鍘 } fclose(fp);return 0;} ...
  • C璇█ 鏂囦欢鎿嶄綔闂
    绛旓細2015-10-11 C璇█ 鍏充簬鏂囦欢鎿嶄綔鐨勯棶棰 2020-06-02 鍏充簬c璇█鏂囦欢鎿嶄綔鐨勯棶棰? 2014-02-16 C璇█鏂囦欢鎿嶄綔闂 2 2014-08-16 鍏充簬C璇█鐨鏂囦欢鎿嶄綔闂銆 2020-01-22 C璇█鏂囦欢鎿嶄綔鐨勪竴涓棶棰? 2015-03-21 C璇█鏂囨湰鏂囦欢鎿嶄綔闂! 1 2020-01-18 C璇█鍒濆鑰呭叧浜庢枃浠舵搷浣滅殑闂? 2009-03-15 C璇█澶...
  • 璇烽棶涓涓鍏充簬C璇█涓枃浠舵搷浣滈棶棰
    绛旓細include<stdio.h>int main(int argc,char *atgv[]){int a=123;FILE *fp=NULL;fp=fopen("d:\\123.txt","w");// 涓や釜鍙嶆枩鏉犺浆涔夋垚\fprintf(fp,"%d",a);//fprintf 鎵嶆槸鍐欏叆鏂囦欢fclose(fp);printf("%d",a);return 0;}
  • 鐢c璇█瀵鏂囦欢鐨勬搷浣滈棶棰
    绛旓細fread(&temp,1,1,fp1); //浠 fp1璇诲彇4涓瓧鑺傦紝鏀惧埌temp fwrite(&temp,1,1,fp2); //鎶妕emp鍐欏叆fp2 鎴戞妸瀹冩敼鎴恈har鍨嬶紝鎴栬呴殢渚跨粰涓垵鍊奸兘鑳藉畬鎴愬鍒鎿嶄綔锛屽ソ鍍忚繖temp鍙堝彲浠ヤ笉瑕侊紝鑳芥崲鎴愪釜鍏朵粬鐨勶紵绛旓細鎹㈡垚char鏇村ソ锛屽洜涓鏂囦欢闀垮害涓嶄竴瀹氭槸4鐨勫嶆暟 ...
  • C璇█鐨勬枃浠舵搷浣,鏈変竴涓闂銆傘
    绛旓細if(fp=fopen("d:\\string.dat","w")==NULL)搴旇鏀逛负锛氳鍐嶅姞涓瀵规嫭鍙枫傚涓嬶細if((fp=fopen("d:\\string.dat","w"))==NULL)鍙﹀锛岃鎶婁互涓嬩唬鐮侊細for(i=0;i<n;i++){ fputs(str[i],fp);fputs("\n",fp);//鍒犻櫎鎺 printf("%s\n",str[i]);} ...
  • C璇█鏂囦欢鎿嶄綔鏃堕亣鍒鐨勯棶棰
    绛旓細include <stdlib.h> main(){ FILE *fp = NULL;long i = 0;if(( fp=fopen("D:\\a.txt","wt+")) == NULL){ printf("open error\r\n");exit(1);} for(i = 0;i < 2147483648;i++){ fprintf(fp,"%c",('a'+ (i%26)));} fclose(fp);} 鏀惧紑浜嗗啓锛屽啓涓2G鏄病闂...
  • 扩展阅读:c++编程 ... c++简单程序实例 ... c++常用头文件大全 ... c语言必背100代码 ... c语言简单问题及答案 ... c语言文件知识点总结 ... c++必备基础知识 ... c++万能头文件怎么写 ... c语言创建文件并写入 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网