W momencie wczytywania danych z pliku, w zależności "do jakich" zmiennych wczytujesz, nie musisz danych rzutować (przekonwertowanie) do danego typu, typ określa sama w sobie deklaracja zmiennej np.
// C
float float_value1, float_value2, float_value3; // Liczby
char char_value1[6], char_value2[6], char_value3[6]; // Tekst
// C++
float float_value1, float_value2, float_value3;; // Liczby
string string_value1, string_value2, string_value3; // Tekst
#include <stdio.h>
int main()
{
float float_value1, float_value2, float_value3;
printf("Liczby z pliku jako float.\n");
FILE *file_ = fopen("dane.txt", "r");
if (file_ != NULL) {
while (fscanf(file_, "%f %f %f", &float_value1, &float_value2, &float_value3) > 0) {
printf("%2c %5.2f %2c %5.2f %2c %5.2f %4c %5.2f + %5.2f = %5.2f\n",
32, float_value1, 32, float_value2, 32, float_value3,
32, float_value1, float_value3, (float_value1 + float_value3));
}
}
fclose(file_);
printf("\n\n");
char char_value1[6], char_value2[6], char_value3[6], char_value1_3[12];
printf("Liczby z pliku jako string.\n");
file_ = fopen("dane.txt", "r");
if (file_ != NULL) {
while (fscanf(file_, "%s %s %s", char_value1, char_value2, char_value3) > 0) {
sprintf(char_value1_3, "%s#%s", char_value1, char_value3);
printf("%2c %s %2c %s %2c %s %4c %s + %s = %s\n",
32, char_value1, 32, char_value2, 32, char_value3,
32, char_value1, char_value3, char_value1_3);
}
}
fclose(file_);
return 0;
}
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main()
{
float float_value1, float_value2, float_value3;
fstream plik;
cout << "Liczby z pliku jako float.\n";
plik.open("dane.txt", ios::in);
if (plik.is_open()) {
while (plik >> float_value1 >> float_value2 >> float_value3) {
cout.width(7); cout << fixed << setprecision(2) << float_value1;
cout.width(7); cout << float_value2;
cout.width(7); cout << float_value3;
cout.width(9); cout << float_value1 << " + " << float_value3
<< " = " << (float_value1 + float_value3) << endl;
}
}
plik.close();
cout << "\n\n";
string string_value1, string_value2, string_value3;
cout << "Liczby z pliku jako string.\n";
plik.open("dane.txt", ios::in);
if (plik.is_open()) {
while (plik >> string_value1 >> string_value2 >> string_value3) {
cout.width(7); cout << string_value1;
cout.width(7); cout << string_value2;
cout.width(7); cout << string_value3;
cout.width(9); cout << string_value1 << " + " << string_value3
<< " = " << (string_value1 + "#" + string_value3) << endl;
}
}
plik.close();
return 0;
}
dane.txt
50.00 40.00 50.00
60.00 50.00 60.00
70.00 60.00 70.00
80.00 70.00 80.00