1

ファイルから行を読み取り、この行を画面に表示するプログラムを C で作成しています 私の宿題では、ファイルがファイルから番号を取得し、それに何らかの操作を行う必要があります。

ファイルの内容を取得し、配列に入れます。

while ( fgets ( line, sizeof line, file ) != NULL ) 
    {        
        strcpy(arra[i], line);
        printf("array ----> %d \n", arra[i]);
        i++;        
    }

このコンテンツを int に解析するにはどうすればよいですか?

4

3 に答える 3

3

atoi()を使用できます

int x = atoi("string");

コードサンプルから

while ( fgets ( line, sizeof line, file ) != NULL ) 
{        
    strcpy(arra[i], line);
    printf("array ----> %d \n", atoi(arra[i]));
    i++;        
}
于 2012-05-16T18:16:39.833 に答える
3

lineがの場合char*、を使用atoiして整数に変換できます。

printf("array ----> %d \n", atoi(line));
于 2012-05-16T18:16:40.397 に答える
1
#include <stdio.h>
#include <stdlib.h>

#define MAX_DATA_SIZE 10

int main(){
    FILE *file;
    char line[128];
    int array[MAX_DATA_SIZE];
    int i,count,sum;

    file = fopen("data.txt","r");
/* data.txt:
100
201
5
-6
0
*/
    for(i=0; NULL!=fgets(line, sizeof(line), file); ++i){
        if(i == MAX_DATA_SIZE){
            fprintf(stderr,"exceeded the size of the array.\n");
            exit(EXIT_FAILURE);
        }
        array[i]=atoi(line);
    }
    fclose(file);
    /*some operations */
    count = i;
    sum = 0;
    for(i=0;i<count;++i)
        sum += array[i];
    printf("%d\n",sum);

    return 0;
}
于 2012-05-16T23:26:11.033 に答える