【发布时间】:2014-06-20 04:38:07
【问题描述】:
我需要帮助读取名称列表并将它们存储到字符串中。我已经为字符串分配了内存,我只需要帮助实际读取它们并将它们存储在其中。这是我已经编写的信息和代码。我只需要insert_data 函数的帮助。
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX_STRING_LEN 25
void insert_data(char **strings, const char *filename, int size);
void allocate(char ***strings, int size);
int main(int argc, char* argv[]){
if(argc != 4){
printf("Wrong number of args");
}
char **pointer;
int size = atoi(argv[1]);
allocate(&pointer, size);
insert_data(pointer, argv[2], size);
}
void allocate(char ***strings, int size){
int i;
*strings = (char**) malloc(sizeof(char**) * size);
for( i = 0; i < size; i++)
{
(*strings)[i] = malloc(sizeof(char) * MAX_STRING_LEN);
}
}
这是我需要帮助的功能:
void insert_data(char **strings, const char *filename, int size){
FILE *input;
input = fopen(filename, "r");
int i;
for (i = 0; i < size; i++){
fscanf(input,"%s", (*strings)[i]);
}
fclose(input);
}
这是我正在阅读的列表:
matt
susan
mark
david
aden
phil
erik
john
caden
mycah
【问题讨论】:
-
使用
fopen打开文件。使用fscanf将字符串读取到临时字符串,然后将字符串复制到strings数组。完成阅读后,使用fclose关闭文件 -
你什么都没试过?我在最后一个问题中帮助了你,因为你似乎至少尝试过......但是现在你将我的代码粘贴到这里(这比简单的文件阅读更难理解)并期望有人来做你的工作?照@Don'tYouWorryChild 说的做.. 去查找关于这 3 个函数的文档。
-
先做一些家庭作业。参考crasseux.com/books/ctutorial/fscanf.html 并尝试自己发布所面临的困难程度
-
对不起,我用我尝试过的方法更新了代码,但我一直遇到段错误。
-
搜索 %s 选项... %c 读取一个字符,如果您想读取单个字符,则需要发送一个地址