#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
void load(char* fileName){
FILE *inputs= fopen(fileName, "r");
if(inputs){
printf(":true:");
}else{
printf(":error:");
}
fclose(inputs);
}
char* extract(char* name){
char* input = (char*) malloc(sizeof(char*)*100);
char* extract = (char*) malloc(sizeof(char*)*100);
int i=0,j=0,k=0,endFlag=0;
strcpy(input, name);
for(i=0;i<strlen(input);i++){
if(input[i] == '"'){
if(endFlag==0){
j =i+1;
while(input[j]!='"'){
extract[k] = input[j];
k++;
j++;
}
endFlag = 1;
}else{
endFlag =0;
}
}
}
extract[k] = '\0';
return extract;
}
int main(){
char* file = (char*) malloc(sizeof(char*)*100);
char* input = (char*) malloc(sizeof(char*)*100);
strcpy(file, "\"file name\"");
strcpy(input, extract(file));
load(input);
return 0;
}
我想要做的是读取带有双引号字符串的文件,例如“\”文件名\“”
所以我只通过提取函数和
提取双引号字符串中的文件名按名称为调用文本文件添加char *值。
但我收到的是分段错误,有没有人可以解决这个问题?