- UID
- 161084
- 帖子
- 141
- 主題
- 7
- 精華
- 0
- 積分
- 221
- 楓幣
- 2894
- 威望
- 173
- 存款
- 0
- 贊助金額
- 150
- 推廣
- 0
- GP
- 12
- 閱讀權限
- 30
- 在線時間
- 204 小時
- 註冊時間
- 2016-9-4
- 最後登入
- 2024-12-10
|
love6610716 發表於 2021-9-7 13:17
行 24, 25 只有執行一次所以你才只有讀取一行
常用的讀檔方式字串中讀取數字
逐char讀取只要是數字就加總起 ...
不知道我哪裡做錯了
讀取input01.txt檔後的結果只有3、6、9C:\Users\luluchen\Desktop\3.PNG- #include<stdio.h>
- #include<stdlib.h>
- #pragma warning( disable : 4996 )
- void test(char* str);
- int main()
- {
- int a[3][3];
- char name[12];
- char mode[100];
- printf("輸入txt名稱(結尾.txt)");
- scanf("%s", &name);
- FILE* fp = fopen(name, "r");
- if (fp == NULL)
- {
- printf("error");
- return 0;
- }
- fscanf(fp, "%s", &mode);
- if (mode[7] == 'T')
- {
- while (!feof(fp)) {
- fscanf(fp, "%s", &mode);
- test(mode);
- }
- }
- fclose(fp);
- }
- void test(char* str)
- {
- char* h;
- int num = 0;
- int flag = 0;
- for (h = str; *h != '\0'; h++) {
- if (*h >= '0' && *h <= '9') {
- num = num * 10 + (*h - '0');
- flag = 1;
- }
- else if (flag) {
- printf("num: %d\n", num);
- num = 0;
- flag = 0;
- }
- }
- }
複製代碼 |
-
3.PNG
(16.51 KB, 下載次數: 8)
|