- UID
- 92572
- 帖子
- 743
- 主題
- 88
- 精華
- 0
- 積分
- 281
- 楓幣
- 664
- 威望
- 224
- 存款
- 0
- 贊助金額
- 150
- 推廣
- 0
- GP
- 140
- 閱讀權限
- 30
- 在線時間
- 390 小時
- 註冊時間
- 2015-2-18
- 最後登入
- 2024-2-26
|
呂晨 發表於 2021-9-7 14:55
不知道我哪裡做錯了
讀取input01.txt檔後的結果只有3、6、9
試試這個- #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;
- }
- fgets(mode, sizeof(mode), fp);
- if (mode[7] == 'T'){
- fgets(mode, sizeof(mode), fp);// 讀取第二行
- while (fgets(mode, sizeof(mode), fp) != NULL) {
- 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;
- }
- }
- }
複製代碼 |
|