2017-09-09 2 views
-1

私はこの2時間の作業を成功させようと努力してきましたが、まだ成功していません。基本的には、処理する必要がある文字のリストが生成されています。今は2つのファイルがあり、1つは世代を処理してファイルに書き出し、もう1つはファイルから読み込んでそれを処理します。私はそれを変えたい。ここでは、私がこれまで持っているものです。生成されたcharを配列から新しい配列にコピーします

#include<stdio.h> 

int main() 

{ 
    char re1[2] = { '1','2' }; 
    char re2[2] = { '3','4' }; 
    char re3[2] = { '5','6' }; 
    char re4[2] = { '7','8' }; 
    char re5[2] = { '9' }; 
    int a, b, c, d, e; 
    char nil[100]; 

    for (a = 0; a<2; a++) 
    { 
     for (b = 0; b<2; b++) 
     { 
      for (c = 0; c<2; c++) 
      { 
       for (d = 0; d<2; d++) 
       { 
        for (e = 0; e<1; e++) 
        { 
         nil[0] = (re1[a], re2[b], re3[c], re4[d], re5[e]); 
         printf("%c\n", nil[0]); 

        } 

       } 

      } 
     } 
    } 
    return 0; 
} 

、私はこれを行う場合:printf("%c%c%c%c%c\n"re1[a],re2[b],re3[c],re4[d],re5[e]);をその後、私は後で呼び出すことができるようにのはnilに13589を言わせて、私は私が必要なものを得るが、私はその組み合わせを書きたいです、 printf("%c%c",nil[0],nil[3])と言い、18を出してみましょう。私はおそらく、何か愚かな行為や明白な行方不明をしていますが、それはこれまでのところです。

FILE *myfile; 
myfile = fopen("out.txt","r"); 

とその後

fscanf(myfile,"%s",&nil[0]); 

、私は文字をチェックするために nil[0]と、このようなを使用することができます。元のファイルでは、私は、これは持っています。

EDIT:配列内の文字を変更しました

+0

[C動的メモリ割り当て]について学ぶ時間(https://en.wikipedia.org/wiki/C_dynamic_memory_allocation) –

+0

すべての警告とデバッグ情報とともにコンパイルします( 'gcc -Wall -Wextra -g'を[ GCC](http://gcc.gnu.org/)...)と**デバッガを使う** 'gdb' –

+0

' 'W ''を各行の異なる値に変更すると、あなたが望むものを理解できませんする。 –

答えて

0

OK、私はダムです。 nil[0]=re1[a]nil[1]=re2[b]などと書かなければなりませんでした。畜生。

+0

または 'memcpy'を使用してください – o11c

+0

または構造体に配列を貼り付けてください。 – o11c

関連する問題