#4
by box » 4年前
1行4列限定ならばこんなのでいいかも。
ただし、読み込むファイルの置き場所は注意が必要そうです。
開発環境によって置くべき場所が異なると思いますので。
当方の環境ではソースファイルと同じ場所でOKでした。
コード:
#include <stdio.h>
#include <stdlib.h>
#define N (4)
void inputData(int num[])
{
FILE *fp;
fp = fopen("read.txt", "r");
if (!fp) {
fprintf(stderr, "read file open error! operation denied.\n");
exit(EXIT_FAILURE);
}
fscanf(fp, "%d,%d,%d,%d", &num[0], &num[1], &num[2], &num[3]);
}
int getSumArray(int num[])
{
int sum, i;
for (sum = i = 0; i < N; i++) {
sum += num[i];
}
return sum;
}
void outputData(int num[], int sum)
{
FILE *fp;
fp = fopen("write.txt", "w");
if (!fp) {
fprintf(stderr, "write file open error! operation denied.\n");
exit(EXIT_FAILURE);
}
fprintf(fp, "%d,%d,%d,%d,%d", num[0], num[1], num[2], num[3], sum);
}
int main(void)
{
int num[N], sum;
inputData(num);
sum = getSumArray(num);
outputData(num, sum);
return EXIT_SUCCESS;
}
1行4列限定ならばこんなのでいいかも。
ただし、読み込むファイルの置き場所は注意が必要そうです。
開発環境によって置くべき場所が異なると思いますので。
当方の環境ではソースファイルと同じ場所でOKでした。
[code]#include <stdio.h>
#include <stdlib.h>
#define N (4)
void inputData(int num[])
{
FILE *fp;
fp = fopen("read.txt", "r");
if (!fp) {
fprintf(stderr, "read file open error! operation denied.\n");
exit(EXIT_FAILURE);
}
fscanf(fp, "%d,%d,%d,%d", &num[0], &num[1], &num[2], &num[3]);
}
int getSumArray(int num[])
{
int sum, i;
for (sum = i = 0; i < N; i++) {
sum += num[i];
}
return sum;
}
void outputData(int num[], int sum)
{
FILE *fp;
fp = fopen("write.txt", "w");
if (!fp) {
fprintf(stderr, "write file open error! operation denied.\n");
exit(EXIT_FAILURE);
}
fprintf(fp, "%d,%d,%d,%d,%d", num[0], num[1], num[2], num[3], sum);
}
int main(void)
{
int num[N], sum;
inputData(num);
sum = getSumArray(num);
outputData(num, sum);
return EXIT_SUCCESS;
}
[/code]