static void retrieveData(const char* filename)
{
FILE *f;
char s[256];
int a[10];
int b[10];
char c[10][10];
...
.....
long j[10];
sprintf(s, "some code %s", filename);
if ((f = popen(s, "r")) != NULL) {
while (fgets(s, sizeof(s), f)) {
if (strncmp(s, "A........ {
sscanf (s,"........
a[0] = var1;
b[0] = var2;
c[0] = var3;
...
.....
}
else if (strncmp(s, "B........ {
sscanf (s,".........
a[1] = var4;
b[1] = var5;
c[1] = var6;
...
.....
}
else if .........more codes
}
pclose(f);
}
}
配列a、b、c ....、jのすべてのデータを取得したいと思います。
void getData(int argc, char **argv)
{
int n;
int a[10];
int b[10];
char c[10][10];
...
.....
long j[10];
retrieveData("filename1");
for (n = 0; n < 10; ++n) {
printf("%d\n", a[n]);
}
for (n = 0; n < 10; ++n) {
printf("%d\n", b[n]);
}
...... more codes
retrieveData("filename2");
for (n = 0; n < 10; ++n) {
printf("%d\n", a[n]);
}
for (n = 0; n < 10; ++n) {
printf("%d\n", b[n]);
}
...... more codes
}
filename1とfilename2には同じデータ構造が含まれていますが、値が異なります。誰かが私に方法を教えてください...私はLinuxcでコンパイルしています。英語が下手でごめんなさい。