Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прочитать 2 char'а из файла 
:(
    Опции темы
Sniper
Дата 16.9.2005, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



собственно вот такой вопрос... неподумайте чего плохого =)

Делаю так:
Код

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    FILE    *fp;
    char *num1;
    char *num2;
    
    fp = fopen("array.txt", "rt");
    fscanf(fp, "%s%s", &num1, &num2);
    fclose(fp);
                printf(num1, num2);// затык конечно здесь... как вывести-то..?
    return 0;
}


символы расположены через tab

например :
2 [tab] 3

Это сообщение отредактировал(а) Sniper - 16.9.2005, 15:36


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Adil'
Дата 16.9.2005, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 26.8.2004
Где: Питер

Репутация: 6
Всего: 15



Затык скорее здесь:
char *num1;
char *num2;
...
fscanf(fp, "%s%s", &num1, &num2);
Что, неужели в файле адреса строк лежат?
А вывести и так можно printf("%s\t%s",num1, num2);


--------------------
Удачи
PM MAIL WWW   Вверх
Orlan
Дата 16.9.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 10.6.2004
Где: Киев

Репутация: нет
Всего: 1



И в самом деле, не выделены строковые буфера для чтения и ф-ии fscanf должен передаватся указатель на начало строки, а не двойной указатель на начало строки.
Так, думаю, будет правильно :
char num1[10], num2[10];
fscanf(fp, "%s\t%s", num1, num2);
--------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов
PM MAIL   Вверх
Mayk
Дата 16.9.2005, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



А чем
Код

char c1,c2;
fscanf(fp,"%c\t%c",&c1,&c2);

не устраивает? ведь
Цитата(Sniper @ 16.9.2005, 19:36)
символы расположены через tab



Добавлено @ 17:53
Цитата(Sniper @ 16.9.2005, 19:36)
printf(num1, num2);// затык конечно здесь... как вывести-то..?

printf("%c <tab was here> %c\n",c1,c2);

Это сообщение отредактировал(а) Mayk - 16.9.2005, 17:54


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Orlan
Дата 16.9.2005, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 10.6.2004
Где: Киев

Репутация: нет
Всего: 1



хм, если я правильно понял, то в файле находятся 2 числа в строковом виде, символы которых разделены табом

--------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов
PM MAIL   Вверх
Mayk
Дата 16.9.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Ну тогда(если числа хочется читать)
Код

int num1, num2;
fscanf(fp,"%d\t%d",&num1,&num2);

Хотя в сабже и в теле сказано "символы".

Это сообщение отредактировал(а) Mayk - 16.9.2005, 18:15


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Sniper
Дата 19.9.2005, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



В файле через таб лежат две цифры... нужно их прочитать и вывести... для начала.
Пример товарища Mayk выдаёт символы... а мне нужно прочитать эти числа и дальше с ними там буду делать всякие штуки... %-)


Это сообщение отредактировал(а) Sniper - 19.9.2005, 14:05


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Helicopterr
Дата 19.9.2005, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 20.8.2005
Где: Stavropol

Репутация: 2
Всего: 3




char num1;
char num2;

fp = fopen("array.txt", "rt");
fscanf(fp, "%c%c", &num1, &num2);
//и никаких %s - это строки заканчивающиеся нулём!
printf("%c%c", num1, num2); //так должно


--------------------
people can fly
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.