У меня есть 32 бита в виде текстового файла в Sender.txt какКак хранить числовую строку в файле в виде отдельного целого числа в массиве в C
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]);
}
}
'Е ("% d \ N", & data1 [I]);' -> 'Е ("% d \ n ", data1 [i]);' –
Ваша первая проблема: 'atoi (data [i])' преобразует всю строку из символа 'i' в конец. Вторая проблема: эта строка либо не заканчивается NULL, либо расширяется за пределы границы массива. Ваша третья проблема: вы назначаете целочисленное число символу. Все три проблемы находятся в одном цикле, и в других случаях может быть больше проблем. Но, во-первых, ваш вопрос не совсем понятен. – DyZ