Sender.txtのテキストファイルとして32ビットがあります。
00100100101110001111111100000001
個々の数値を整数として配列に格納したいと思います。次のコードを試しましたが、機能しません。
#include <stdio.h>
#include<stdlib.h>
void main()
{
FILE *myfile;
myfile = fopen("Sender.txt" , "r");
char data[32];
int i,con, data1[32];
for(i=0;i<32;i++)
{
fscanf(myfile, "%1s", &data[i]);
}
for(i=0;i<32;i++)
{
con = atoi(data[i]);
data1[i]=con;
}
for(i=0;i<32;i++)
{
printf("%d \n", &data1[i]);
}
}
それでもあなたの努力の目的を完全に理解することなく、私は最初の2つのループを書き直すことを提案します:
for(i = 0; i < 32; i++)
{
int next = fgetc(myfile);
data1[i] = (next == '0') : 0 ? 1;
}
このコードは、ファイルに32個の1または0があり、すべて同じ行にあり、他には何もないことを前提としています。
これは、おそらく明確さを犠牲にして、さらに圧縮される可能性があります。
for(i = 0; i < 32; i++)
{
data1[i] = fgetc(myfile) - '0';
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加