|
nopさんの質問に答えてください。
何を回答したらいいのか分かりません。
正しい動作が分からないのに,間違いなど指摘出来ません。
ちょっと修正した上でのソース投稿代行:#include <stdio.h>
#include <conio.h>
#define BUF_LEN (80)
struct InputData {
char Data;
struct InputData *BackPtr;
struct InputData *NextPtr;
}InputData={0,0,0};
struct InputBuffer {
struct InputData *StartPtr;
struct InputData *EndPtr;
struct InputData Buffer[BUF_LEN];
}*StartPtr={0},*EndPtr={0};
char *StrInput(char *DefaultStr, int InputLen)
{
static char buffer[BUF_LEN+1];
struct InputBuffer input;
int a=0;
int b=0;
for(a=0; a<=BUF_LEN; a++){
InputData.Data=getch();
if(input.Buffer[a].Data==0x00){
struct InputData *NextPtr;
input.Buffer[a].Data=InputData.Data;
}
if(InputData.Data==0x0d){
break;
}
}
for(input.Buffer[0].NextPtr=input.StartPtr;;){
for(b=0; b<=BUF_LEN+1; b++){
for(a=0; a<=BUF_LEN; a++){
buffer[b]=input.Buffer[a].Data;
if(input.Buffer->NextPtr==0x00){
break;
if(b==BUF_LEN+1){
break;
}
}
}
}
}
putchar(buffer[b]);
return &buffer[0];
}
int main(void)
{
char *buf;
buf = StrInput("",BUF_LEN);
printf("\n");
printf("%s", buf);
return 0;
}
|