Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 19:04   #1
Александе еть я
Пользователь
 
Регистрация: 18.10.2009
Сообщений: 29
По умолчанию с++

мне надо считывать с файла числа...но у меня считывание идет посимвольно..т.е. 10 считается как отдельно 1 и 0 а не как число "10"
подскажите где у меня ошибка

вот мой код
Код:
#include<stdio.h>
#include <stdlib.h>
#define N 10

void show(int x);

void main (int argc, char* argv[])
{
	int a[N], b[N],i,n,c;
	char str[17];
	FILE *f_in, *f_out;



  

	if((f_in=fopen("D:\\1.txt","r"))==NULL)
	{
		printf("error\n");
		exit(1);
	}
	else
	printf ("Array of integer numbers A[]:\n");
	for(n=0;((c=fgetc(f_in))!=EOF);n++)
	if (((c!=' ') && (c!= '\n') && (c!='\t')))
	{
	
		a[n]=c-48;
		show(a[n]);
		printf ("\t%d\n", a[n]);
	}
	fclose(f_in);
}

	

void show(int x)
{
 int cont=0x7FFF,c=0xFFFF;
 if(x<0)
	 x=(x&c);
 for (int i=16;i!=0;i--)
 {
    if (i%4==0)
       printf(" ");
    if ((x&cont)==x)
       printf("0");
    else
       printf("1");
    cont>>=1;
    if ((cont&0x7FFF)==cont)
       cont+=0x8000;
 }
}

Последний раз редактировалось Stilet; 21.04.2010 в 12:45.
Александе еть я вне форума Ответить с цитированием
Старый 20.04.2010, 19:18   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
но у меня считывание идет посимвольно
Код:
for(n=0;((c=fgetc(f_in))!=EOF);n++)
if (((c!=' ') && (c!= '\n') && (c!='\t')))
{
вопросы?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 21.04.2010, 12:25   #3
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Используй функцию fscanf(), или вообще переходи на fstream. Подробности - в справке.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц