Final Unicourse'tan Çalış, Yüksek Notu Garantile!
Vizesine Unicourse'tan Çalış, Yüksek Notu Garantile!
How to print each line from a string
-
I'm trying to make some sort of simple console text editor program to get better with C. I'm having trouble with what I thought would be a somewhat simple task:
How do I get each line from my
char* buffer, which contains all of my text, so I can output each line, including empty lines, with the correct line number in front of it.I tried several different ways already, but none have stuck. I tried
strtok(), which is what is currently pushed to my repo, and it ignores whitespace. I triedstrchr()but did not have the slightest idea how that function worked and got an infinite loop. I tried doing my own function to create an array of lines but that lead to a segmentation fault which was not fixed by mallocing the array. I am at a loss here, I'm not sure what I can do.Here is the repo: https://codeberg.org/Mister_Bones/txt-ed
Here is the offending code:
// Print contents of file int print_file(char* buffer) { // Print a new line printf("\n"); // Print each line with line number // Set first line int line_num = 1; // Get individual line from buffer char* line = strtok(buffer, "\n"); // Loop through and print lines // TODO: Don't ignore whitespace while (line != NULL) { printf("%4d\t%s\n", line_num, line); line = strtok(NULL, "\n"); line_num++; } return 0; }
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Kayıt Ol Giriş