gpt4 book ai didi

C 如何将命令传递的字符串转换为数组

转载 作者:行者123 更新时间:2023-11-30 19:05:39 25 4
gpt4 key购买 nike

我正在尝试将字符串转换为数组。但是,当我尝试打印值来测试它时,它不会打印任何内容。

命令

a.c BTC IOT NEO ETH XRP

预期输出

BTC.csv
IOT.csv

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

typedef struct
{
char m[9];
}moeda;

int main(int argc, char *argv[]){
FILE *csv;
int n = argc-1;
moeda *m;

m = (moeda*)malloc(n*sizeof(moeda));


for(int z=1; z<=n; z++)
{
int i = 0;
sprintf(m[i].m, "%s.csv", argv[z]);

i++;
}

printf("%s\n", m[0].m);
printf("%s\n", m[1].m);

return 0;
}

最佳答案

您在循环内声明 i ,这意味着每次迭代它都会设置为 0。尝试一下

int i = 0;
for(int z=1; z<=n; z++)
{
sprintf(m[i].m, "%s.csv", argv[z]);

i++;
}

或者只是

for(int z=1; z<=n; z++)
{
sprintf(m[z - 1].m, "%s.csv", argv[z]);
}

关于C 如何将命令传递的字符串转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49477617/

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