C语言字符串数组问题:将文件中的多行文本存储到数组中

各位好,我最近在学习C语言处理字符串的相关知识,有个问题一直没解决,下望各位帮我想一下解决方法。

文件lines.txt,里面有如下内容:

cat dog
duck rabbit
bird cow
mouse snake

每行两个单词,中间以空格隔开。

我想把这个文件的内容存储到数组中,要求如下:

char* line1[] = {"cat", "dog"};
char* line2[] = {"duck", "rabbit"};
char* line3[] = {"bird", "cow"};
char* line4[] = {"mouse", "snake"}

char** all = {line1, line2, line};

我现在遇到的问题是:可以读取到每一行中的两个词,存储到 char*数组中,但是无法将该数组存储到char** all中,症状是all中有四个mouse。

各位能否提供一下解决方法?

谢谢!

1个回答

你定义的数组类型的指针,但是里面存储的不是指针,而是字符串,如果只是为了存储字符串,直接定义数组进行,并且数组名就是这个数组的指针。

xuyunlong0104
xuyunlong0104 谢谢!其实我想要的是最后一行的all,需要char** 类型以实现与现有系统其它代码对接。请问能否给我提供一下具体的实现?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐