敢于读文件的问题

wisoper 2007-11-09 07:23:20
想编一个C语言读txt文件的程序
程序如下:
1 在num1.txt文件中存放的是400个用逗号隔开的整数 ,结果只有一行第一个数字
346,130,982,1090,1656,7117,7595,6415,2948,1126,9004,
4558,3571,2879,8492,1360,5412,6721,2463,5047,7119,
1441,7190,3985,1214,7509,252,6571,4779,9816,1681,
9651,7995,3593,3734,3310,3979,1995,5561,6092,8489,
1288,8466,8664,5892,3863,2766,5364,7639,1151,427,
100,5795,8812,5108,2666,2347,9042,9774,9169,5589,
6383,9666,941,3390,7878,3565,1779,6190,2233,53,
3429,2285,2422,8333,1937,1636,3268,6460,6458,6936,
8160,4842,9142,9667,4115,5116,7418,1156,4279,5008,
5859,9561,8297,3755,2981,1275,9040,8690,1401,8137,
6735,343,5267,8312,7111,7733,993,8554,4353,126,
1018,1086,6970,6484,614,3431,3999,8086,8730,5504,
891,8492,7015,143,1246,2484,2180,4168,6704,9679,
3528,9365,966,6135,5740,8323,2580,5378,2736,1327,
4164,4748,1020,113,1445,1249,3243,1480,1672,3625,
2691,3799,8422,2344,2231,480,870,4821,7776,7903,
6205,522,3192,9113,5878,4172,121,7381,3461,2332,
4982,1562,774,1118,8505,2889,7323,152,9436,2365,
1365,79,2683,7762,3826,2109,313,6179,9367,2310,
146,1623,4752,2028,177,8013,3446,9935,3747,

#include <stdio.h>
main()
{
FILE *fp;
int temp;
fp=fopen("num1.txt","r");
while(!feof(fp))
{
fscanf(fp,"%d",&temp);
printf("%d,",temp);
fp++;
}
fclose(fp);
}
...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wisoper 2007-11-09
  • 打赏
  • 举报
回复
逗号结果
6020-1-1-1-28408-1-1-125094-1-1-1-22883-1-
1-1522-1-1-115479-1-1-1-29875-1-1-1-4786-1-1-1-19381-1-1-
132063-1-1-130892-1-1-1197-1-1-122738-1-1-1-26178-1-1-1-18365-1-1-16409-
1-1-131392-1-1-113081-1-1-1-24005-1-1-1-3125-1-1-1-1-1-1-15441-1-1-1-23132-1-1-1-29282-1-1-129767-1-1-1-24923-1-1-1-4537-1-1-1-9584-1-1-1-1344-1-1-1-21428-1-1-110002-1-1-13338-1-1-1-2548-1-1-1-31181-1-1-1-24185-1-1-17608-1-1-1-26581-1-1-112441-1-1-1-3387-1-1-1-8976-1-1-
121913

空格结果
6020 6755 8648 1920 2137 9105 4921 9611 5340 9512 9864 2364 9170 5286 7249 9361 859 339 5237 6808 6022 7568 6989 1751 5001 7537 2133 4368 6044 1960 4125 3640 8498 5650 3086 7480 3593 251 9241 16 3522 3821 1122 2485 9326 5593 2693 9706 3287 3657 4583 3491 1191 3844 6377 2262 5358 746 8466 4193 6205 852 7164 8181 1361 2958 525 6264 5966 3399 2910 5901 1631 304 871 6696 5915 1264 3859 4122 5803 7176 8963 4699 2060 4814 4343 702 8041 9257 6831 3169 4250 3791 5280 5537 4777 3495 5821 4308 8044 8254 1692 949 3628 6837 1308 7525 7200 7595 6421 4592 8251 6351 7993 1845 9133 7164 8711 5627 4386 5007 970 1562 7037 2821 2061 5830 7540 3647 7374 1503 4495 4778 1187 2221 913 3156 4477 1974 6499 7982 9174 8662 3919 7606 3133 2405 3272 8915 1241 7589 7230 7878 7426 9036 707 4800 8214 1782 3392 3217 1088 7889 2977 1780 629 8241 3471 2263 4521 1051 4565 879 6581 4576 2907 47 6009 7534 1531 8877 1230 3230 5988 5886 4787 5327 3222 1770 7467 9289 6867 1449 3173 2009 6536 8330 6150 8177 4144 5945 5552 1266 5785 3120 5126 1600 8148 2350 401 2076 7132 3020 5301 5806 4612 7315 7712 8417 1172 9917 7957 6233 5274 300 3575 4007 1672 5967 4014 3571 5544 1317 7912 4020 9145 4679 6516 1497 1975 7488 5781 1718 9125 7701 1336 8898 2394 3503 6837 8236 7160 4145 4912 7774 4769 2694 5734 1468 3207 7904 109 2608 6225 4791 6116 8684 8702 7692 9680 2394 5238 7176 6781 450 5796 1766 4401 4456 3136 1230 3661 2232 5352 6360 6540 6032 2253 2325 5372 5548 6523 1587 3863 1027 1805 747 9910 2124 3666 8415 8654 253 9523 790 9837 1785 143 5868 874 3291 9973 1404 7749 4897 6937 1097 7595 5515 2908 8139 3801 2769 4396 7169 7934 2758 2932 3325 2915 6374 6000 7432 3257 9354 5408 9483 3736 148 3143 93 8741 3213 304 751 5129 9641 1269 3410 7608 2944 6396 9371 2377 4202 5094 2376 2639 5508 9195 7390 2873 7210 186 2957 6224 5915 8078 6602 265 7913 4145 154 2772 2230 8103 5343 3880 7462 149 8124 2203 8069 5019 2995 1808 9823 3613 1325 3104 9290 6476 6691 5106 9896 5009 5276 1393 9417 9417
alxen 2007-11-09
  • 打赏
  • 举报
回复
忘了说了,用fscanf读文件,不要用逗号','而用空格分割数据即可正确读取文件数据。
alxen 2007-11-09
  • 打赏
  • 举报
回复
给LZ提两个建议。
1.
如果LZ要用fscanf读文件,那么就不要用逗号','分割文件中的数据,因为你的数据用逗号','分割,fscanf只能读取出第一个整数346.

2.每读取一个数据,文件指针fp会自动+1,不用那个fp++了。

LZ的程序按上述策略修改后在VC++ 2005中运行通过。
飞哥 2007-11-09
  • 打赏
  • 举报
回复
fp++; //////这句去掉就ok了吧
fengdream 2007-11-09
  • 打赏
  • 举报
回复
int temp; //char temp[];
一行行读,否则栈容易溢出

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧