Форум программистов, компьютерный форум CyberForum.ru

float vs string - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 118
20.02.2011, 15:57     float vs string #1
в общем есть такая конструкция
C++
1
2
3
4
5
6
FILE* pfi;
    char* fn = "D:/test.txt";
    pfi= fopen(fn,"w+");
    fputs("\tx=",pfi);
    fputs(x,pfi);
    fclose(pfi);
x float и функция не хочет писать симво в файл. Подскажите как его сделать стрингом?
Ну или как можно соединисть строку "\t x=" со значением 2.452354, что б вышла в итоге строка "\t x=2.452354" и потом уже ее записать в файл.


Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 15:57     float vs string
Посмотрите здесь:

конвертировать System::String ^ в float C++
Преобразовать string в float C++
C++ Конвертирование float/int to string
c++ string to float C++
C++ преобразование string в float
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.02.2011, 17:06     float vs string #21
Потому что у вас x1 объявлен как float (кстати, лучше использовать double), а выводите вы её с целочисленным спецификатором %d. Надо использовать %f. А ещё лучше всё же забить на fprintf и использовать плюсовые потоки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 118
20.02.2011, 17:14  [ТС]     float vs string #22
Вы, как всегда, правы. Спасибо за помощь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    FILE* pfi;
    char* fn = "D:\\test.txt";
    float x1,x2,x,h,y;
    pfi= fopen(fn,"w+");
    cout << "Enter x1: "; cin>>x1;
    cout << "Enter x2: "; cin>>x2;
    cout << "Enter  h: "; cin>>h;
    cout << "\n "<< x1 << " < x =< 3: \n"; 
    fprintf(pfi, "%.0f < x =< 3\n", x1);
    for (x = x1; x <= 3; x=x+h)
    {
        y = 1;
        for (int i=0; i<=3; i++)
        {
            y=y*(x*x+i);
        }
        fprintf(pfi, "\tx = %.1f ", x);
        fprintf(pfi, "\ty = %.2f\n", y);
        cout << "\tx= " << x << "\t y= " << y << "\n";
    }
    cout << "\n "<< x << " < x < 8: \n"; 
    fprintf(pfi, "\n%.1f < x < 8\n", x);
    for (x; x<8; x=x+h)
    {
        y = (x+2)*(x*x-3);
        fprintf(pfi, "\tx = %.1f ", x);
        fprintf(pfi, "\ty = %.2f\n", y);
        cout << "\tx= " << x << "\t y= " << y << "\n";
    }
    fclose(pfi);
    system ("pause");
}
http://h1813090.stratoserver.net/fil...CDdtK9ivnw.png
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
20.02.2011, 17:15     float vs string #23
Цитата Сообщение от kRicha Посмотреть сообщение
разве эта функция не выводит строку на экран?
printf(...) это тоже самое что fprintf(stdout, ...)
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 118
20.02.2011, 17:36  [ТС]     float vs string #24
такс, то была первая часть, скомпилировав которую, я получил файл work.exe

вторая часть такая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <Windows.h>
 
using namespace std;
 
int main(int argc, char* argv[])
{
STARTUPINFO cif;
    ZeroMemory(&cif,sizeof(STARTUPINFO));
    PROCESS_INFORMATION pi;
    CreateProcess("d:\\work.exe",NULL,
        NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi);
}
я прально делаю, или неть?

Добавлено через 13 минут
если что, само задание вот
float vs string
Перевод:
Написать две программы на языке С в виде Win32 Console Application приложений.
- первая программа производит табулирование функции согласно с вариантом; значение диапазона и шаг задается вводом с клавиатуры, результат записывается в файл;
- вторая программа выполняет запуск процесса, который связан с исполняемым кодом первой программы, считывает содержимое файла, созданного процессом и отображает результат в табличном виде


 Комментарий модератора 
Правила форума
1.3 Официальным языком форума является русский язык.
2.11 Картинки загружайте на форум, во избежание их удаления или потери на сторонних ресурсах.
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 118
21.02.2011, 00:12  [ТС]     float vs string #25
да, впредь, так и буду делать. Спасибо.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.02.2011, 01:21     float vs string #26
C++
1
2
3
4
5
6
7
/*
#include <fstream>
char INPUT[] = "input.txt";
char OUTPUT[] = "output.txt";
std::ifstream cin(INPUT);
std::ofstream cout(OUTPUT);
//*/
Конечно чистое ИМХО но веселее бы freopen или же rdbuf-ы
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 118
21.02.2011, 01:25  [ТС]     float vs string #27
а таким языком, как для народа?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.02.2011, 01:33     float vs string #28
kRicha,
C
1
2
freopen("input.txt", r, stdin);
freopen("output.txt", w, stdout);
C++
1
2
3
4
std::ifstream ifs("input.txt");
std::cin.rdbuf(ifs.rdbuf());
std::ofstream ofs("output.txt");
std::cout.rdbuf(ofs.rdbuf());
Добавлено через 3 минуты
Плюс пример для перенаправления cout-а в файл, а затем обратно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <fstream>
 
int main()
{
    std::streambuf* out;
    std::ofstream ofs("output.txt");
    out=std::cout.rdbuf();
    std::cout.rdbuf(ofs.rdbuf());
    std::cout<<"Someone\n";
    std::cout.rdbuf(out);
    std::cout<<"Someone\n";
    return 0;
}
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 118
21.02.2011, 01:34  [ТС]     float vs string #29
Цитата Сообщение от ForEveR Посмотреть сообщение
kRicha,
C
1
2
freopen("input.txt", r, stdin);
freopen("output.txt", w, stdout);
C++
1
2
3
4
std::ifstream ifs("input.txt");
std::cin.rdbuf(ifs.rdbuf());
std::ofstream ofs("output.txt");
std::cout.rdbuf(ofs.rdbuf());
спасиб, конечно за старания, но я такое впервые вижу, не особо понимаю полное назначение, но да ладно... пусть будет как есть, мне галвное знать по заданию я сделал или нет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2011, 01:37     float vs string
Еще ссылки по теме:

C++ Из float в string
C++ Преобразование String в float
C++ Перевод из string в float

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
silent_1991
21.02.2011, 01:37     float vs string
  #30

Не по теме:

ForEveR, поскольку плюсы познаю в достаточно вольной форме - пока не могу себя заставить более основательно перейти к таким вещам как STL, да и потоки знаю достаточно поверхностно (в частности, про rdbuf не слышал). От того и предложил такой извращенский способ, о чём честно и откровенно отписался)))

Yandex
Объявления
21.02.2011, 01:37     float vs string
Ответ Создать тему
Опции темы

Текущее время: 21:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru