美好的一天,我的代码遇到了一些问题。我上周刚开始处理文件,目前我正忙于将字符串添加到程序中。我想从文件中添加主程序中的名称,但我已经尝试了几乎所有东西。任何帮助将不胜感激。另外,这是我第一次使用 Stack Overflow,如果我错过了发布任何信息,非常抱歉。
图片包括 Input.txt 文件以及当前输出。我添加了控制台输出来测试问题,它似乎与字符有关。我尝试过使用 String 本身,但这仍然是失败的。此外,我不允许使用 C++ 文件处理方式(如果有意义的话)。[虽然我被允许使用 C++] - 为即将到来的考试做这整个程序的练习。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
int ReadFile(char*,int*,double*);
int main()
{
char names[128];
int ages[128];
double salaries[128];
int size = ReadFile(names, ages, salaries);
for(int i = 0; i < size; i++)
{
printf("My name is %s, and I am %d years old. My salary is $%.2lf\n", *(names+i), *(ages+i), *(salaries+i));
}
return 0;
}
int ReadFile(char *namesArr, int *ageArr, double *salaryArr)
{
FILE *IN = fopen("Input.txt", "r");
int i = 0;
if(IN == NULL)
{
cout << "Error! Can't open file.";
exit(1);
}
else
{
char name[20];
int age = 0;
double salary = 0.00;
while(fscanf(IN, " %c,%d,%lf", &name, &age, &salary) != EOF)
{
*(namesArr + i) = *name;
*(ageArr + i) = age;
*(salaryArr + i) = salary;
cout << *(namesArr+i) << " ";
i++;
}
}
fclose(IN);
return i;
}
输入.txt:
Kazu,21,2250.00
Anonymous,34,3500.25
John,31,2750.00
Paul,25,3125.25
Jin,19,1750.00