将两个单词读入一个char数组元素
Read two words into one char array element
我正试图将文本文件中的两个单词读入一个char数组元素中。我不能使用std::string。我有一个seg错误,因为我的循环超出了界限。我不能抄这两个字。请帮我做这个!!我的卡结构循环工作得很好。我不能把"第一个-最后一个"理解成人名//一副纸牌//以下是初始化#包括#包括#包括#包括#包括
using namespace std;
//globals
const int maxCards = 52;
//Structs
struct card {
char suit[8];
char rank[6];
int cvalue;
char location;
};
struct player {
char name[100];
int total;
card hand[4];
};
//program
int main()
{
//constants
char tempfName[100];
char templName[100];
//create struct array(s)
card deck[52];
card shuffledDeck[52];
player people[4];
//create pointers
card * deckPointer =NULL;
deckPointer = deck;
card * shuffledDeckPointer=NULL;
shuffledDeckPointer = shuffledDeck;
for(int i=0;i<4;i++)
{
strcopy(people[i].name,"first last");
}
//open player names file
ifstream fin2;
string fin2Name;
//get file name from user
cout << "Enter player file name...(Players.txt)" << endl;
getline(cin, fin2Name);
//open file
fin2.open(fin2Name.c_str());
//check if Players.txt opens correctly
if(!fin2.good())
{
cout << "Error with player file!" << endl;
return 0;
}
else
{
int j =0;
fin2 >> people[j].name; //prime file
while(fin2.good())
{
//find the length
int index =0, length=0;
while(tempfName[length] != ' ')
{
length++;
}
//now add space after first name
tempfName[length] = ' ';
length++;
while(templName[index] != ' ')
{
tempfName[length] = templName[index];
length++;
index++;
}
tempfName[length]=' ';
int counter =0;
while(templName[counter] != ' ')
{
people[0].name[counter] = templName[counter];
counter++;
}
}
}
在else语句中的while循环中,您的tempfName似乎没有指向正确的对象其他的{
int j =0;
fin2 >> people[j].name; //prime file
while(fin2.good())
{
//find the length
int index =0, length=0;
while(tempfName[length] != ' ')
{
length++;
}
你可以做一些作弊:
char full_name[256]; // Binary quantities are better.
snprintf(full_name, sizeof(full_name),
"%s %s",
first_name, last_name);
你应该做更多关于C风格字符串函数的研究,比如查阅一本好的参考书。它应该有一章关于C风格的字符串函数。
以下是一些有用的:strcpy, strcat, strchr, sprintf, strlen
相关文章:
- 如何创建一个 char *[] 变量,以便将其传递给函数
- C Cout如何打印一个char*
- 使用C 中字符串标头的getline()函数将第一个char存储在字符串对象中
- C :在字符串中找到一个char,然后在先前的char之后找到另一个字符
- 如何从IStream读取一个char数组并将其写入另一个IStream
- 如何在c++中将计算分解为两个double和一个char
- 返回一个 char 数组而不是 const char *
- 将值从一个 char 数组存储到另一个 char 数组
- 如何在 c++ 中的另一个 char 数组中找到一个字符数组
- 如何在C 中创建一个char数组
- 当一个函数可以被赋予一个 char* 或文字字符串时,声明这个函数的正确方法是什么?
- C++使用类从多维向量输出一个char数组
- 如果您使一个char*ptr存储整数变量的地址,会发生什么
- C++将文件的所有字节都获取到一个char数组中
- 为 execvp() 创建一个 char* const *
- 将两个单词读入一个char数组元素
- 使用循环向后打印一个char数组
- 当我使用模板将一个char数组复制到另一个时出现问题
- C++创建一个char*迭代器
- 返回一个char指针(内存泄漏)