gpt4 book ai didi

c++ - 我想将这个 char 数组中的每个元素保存到一个单独的数组中

转载 作者:太空宇宙 更新时间:2023-11-04 13:56:00 24 4
gpt4 key购买 nike

好的,我的输入文件如下所示:

Adam Zeller 45231 78 86 91 64 90 76 
Barbara Young 274253 88 77 91 66 82 93
Carl Wilson 11223 87 77 76 78 77 82

我想使用 strtok() 函数将名字和姓氏保存到一个数组中,并将数字保存到一个 int 数组中,但我不知道如何忽略名字和姓氏我正在使用 strtok()

谁能帮我解决这个问题?

另外我不能使用string库,但是我可以使用cstring库

最佳答案

您的输入格式似乎固定为 <first name><last name> ,后跟七个数字。如果是这种情况,您可以从文件流中读取数据,而不是使用 C 样式输入和 strtok :

int n0, n1, n2, n3, n4, n5, n6;
string firstName, lastName;
...
// Now you can read the whole line with a single line of code:
myFileStream >> firstName >> lastName >> n0 >> n1 >> n2 >> n3 >> n4 >> n5 >> n6;

如果 int 的数量接下来是<first name><last name>不固定,可以构造一个stringstream从你从文件中读取的每一行,并使用嵌套循环来解析你所有的 int数。

I can't use the <string> library

如果string不允许,您仍然可以使用 >>char阵列。不过,它不会那么安全。您也可以使用 fscanf ,像这样:

int n0, n1, n2, n3, n4, n5, n6;
char firstName[256], lastName[256];
...
fscanf(fd, "%255s%255s%d%d%d%d%d%d%d", firstName, lastName, &n0, &n1, &n2, &n3, &n4, &n5, &n6);

注意 %s 的大小限制.您需要它们来避免缓冲区溢出。

关于c++ - 我想将这个 char 数组中的每个元素保存到一个单独的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com