我正在创建一个用C ++添加大数字的程序。
我想从文件中取出数字并将其存储在链表中,但如果有小数,我想保留点的索引记录而不将其存储到列表中。
因此,当while循环遇到一个点时,它只保留索引并跳到下一个。
由于某种原因,我的代码陷入无限循环。
这是我的代码:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
struct node
{
int data;
node *next;
};
int main(int argc, char *argv[]){
int digit;
node * head1 = NULL;
node * tail1 = NULL;
node * temp1 = NULL;
ifstream fStream;
fStream.open(argv[1]);
while(!fStream.eof()){
fStream >> digit;
if(!isdigit(digit))
{
fStream >> digit;
cout <<"done";
}
//fStream >> digit;
temp1 = new node();
temp1->data = digit;
temp1->next = head1;
head1 = temp1;
}
fStream.close();
node * head2 = NULL;
node * tail2 = NULL;
node * temp2 = NULL;
ifstream fStream1;
fStream1.open(argv[2]);
cout<<argv[2]<<endl;
while(!fStream1.eof()){
fStream1 >> digit;
temp2 = new node();
temp2->data = digit;
temp2->next = head2;
head2 = temp2;
}
fStream1.close();
while(temp1!=NULL){
cout <<temp1->data<<" ";
temp1 = temp1->next;
}
cout<<endl;
while(temp2!=NULL){
cout <<temp2->data<<" ";
temp2 = temp2->next;
}
cout<<endl;
}
有人可以帮忙吗?