|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求问为什么会有这样的七个错误代码啊 代码目的是要用C语言把CSV文件导入到二维数组里面 谢谢啦
- #include <stdio.h>
- #include <string.h>
- char *trim(char *str)
- {
- char *p = str;
- while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')
- p++;
- str = p;
- p = str + strlen(str) - 1;
- while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')
- --p;
- *(p + 1) = '\0';
- return str;
- }
- int main()
- {
- FILE *fp = fopen("test.csv", "r");
- if (fp == NULL) {
- return -1;
- }
- char line[1024];
- while (fgets(line, sizeof(line), fp)) {
- //printf("%s", line);
- char *save_ptr;
- char *name = strtok_r(line, ",", &save_ptr);
- if (name == NULL) {
- return -1;
- }
- char *age = strtok_r(NULL, ",", &save_ptr);
- char *birthday = strtok_r(NULL, ",", &save_ptr);
- printf("%s\t%s\t%s\n", trim(name), trim(age), trim(birthday));
- }
- return 0;
- }
复制代码
本帖最后由 bin554385863 于 2019-11-29 00:27 编辑
while (fgets(line, sizeof(line), fp)) {
//printf("%s", line);
char *save_ptr;-------请问这个指针指向哪里?
char *name = strtok_r(line, ",", &save_ptr);--------对一个野指针取地址,你是什么逻辑?
if (name == NULL) {
return -1;
}
char *age = strtok_r(NULL, ",", &save_ptr);
char *birthday = strtok_r(NULL, ",", &save_ptr);
printf("%s\t%s\t%s\n", trim(name), trim(age), trim(birthday));
}
return 0;
}
=============================
别的错误我没看出来
但是你后面的代码居然使用野指针,,,,,,还对野指针取地址,,,不得不对你写一个服字
|
-
|